Appium中对于弹出窗口(popup window)的元素如何定位(locate)

在使用Appium中的UI 过程中,因为有些弹出窗口(Popup)无法定位。

而模拟场景又必须来定位这些元素,本人在实践中摸索了一种方法。

环境 Appnium, python3.8, Pycharm开发环境

主要思路:把定位调整到基础的窗口,然后利用pycharm的调试功能和driver.find_element_by_class_name的方法来定位

测试场景是一款证券app,弹出的是登录窗口。

步骤简述:

1.  设置断点Appium中对于弹出窗口(popup window)的元素如何定位(locate)

2.在断点处,可以利用pycharm的  Evaluate功能来定位弹出窗口的元素。

Appium中对于弹出窗口(popup window)的元素如何定位(locate)

根据窗口上各种class,比如android.widget.EditText, android.widget.Button. 上图就是笔者利用Button类定位到登录按钮。

如果是多个元素,利用find_elements返回集合对象。比如下面代码。

el3=self.driver.find_elements_by_class_name("android.widget.EditText")[0]
el3.send_keys(userid)
el4=self.driver.find_elements_by_class_name("android.widget.EditText")[1]
el4.send_keys(passwd)