我必须为我的原生Android应用程序自动化支付网关进程,我必须从下拉框中选择选项。选择一个选项"继续"按钮将被启用。 点击“继续”按钮后,我将进入新屏幕,其中将输入付款详细信息。
我面临以下问题:
1)在溺水中滚动后无法选择下拉菜单选项。
2)能够选择前5个选项中的选项,这些选项在dropdwon打开时可见而没有任何滚动。之后选项选择继续按钮必须由defalut启用。我能够看到该选项被选中但不能单击继续按钮。脚不会返回任何错误,但我确定它没有点击继续按钮。
在点击下拉列表ID和下拉列表之前,分别为packagename;id/statechooser
和android.widget.spinner
。
点击下拉列表后,ID为android:id/text1
和android.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();
答案 0 :(得分:0)
最后我得到了解决方案。通过使用UIAUTOMATOR的python包装器,我可以继续下一页。我使用down方法直到选项可见,然后按Enter键接受它而不是单击方法。以下是代码。
while(self.d(resourceId="android:id/text1").text!='Hawaii'):
self.d.press('down');
self.d.press('enter')