无法从Android移动应用程序

时间:2015-06-06 19:36:08

标签: python-2.7 selenium-webdriver appium

我必须为我的原生Android应用程序自动化支付网关进程,我必须从下拉框中选择选项。选择一个选项"继续"按钮将被启用。 点击“继续”按钮后,我将进入新屏幕,其中将输入付款详细信息。

我面临以下问题:

1)在溺水中滚动后无法选择下拉菜单选项。

2)能够选择前5个选项中的选项,这些选项在dropdwon打开时可见而没有任何滚动。之后选项选择继续按钮必须由defalut启用。我能够看到该选项被选中但不能单击继续按钮。脚不会返回任何错误,但我确定它没有点击继续按钮。

在点击下拉列表ID和下拉列表之前,分别为packagename;id/statechooserandroid.widget.spinner

点击下拉列表后,ID为android:id/text1android.widget.Textview

以下是我的代码。

#entering Name
self.driver.find_element_by_id('packagename:id/name').send_keys('App Test');
self.driver.keyevent(66)
#entering address line 1
self.driver.find_element_by_id('packagename:id/address_line_1').send_keys('Madison Boulevard')
self.driver.keyevent(66)
self.driver.find_element_by_id('packagename;id/city').send_keys('Madison');
self.driver.find_element_by_id('packagename;id/zip').send_keys('25758');
self.driver.keyevent(66)(#this event for moving to dropdown)
self.driver.keyevent(66)(#this event for opening dropdown)
self.driver.find_element_by_xpath("//android.widget.TextView[@text='Alabama']").click()
self.driver.find_element_by_id('packagename:id/continue_button').click();

1 个答案:

答案 0 :(得分:0)

最后我得到了解决方案。通过使用UIAUTOMATOR的python包装器,我可以继续下一页。我使用down方法直到选项可见,然后按Enter键接受它而不是单击方法。以下是代码。

while(self.d(resourceId="android:id/text1").text!='Hawaii'):
        self.d.press('down');
self.d.press('enter')