我正在使用 Appium 客户端为我的 iOS 应用程序记录和生成测试脚本。在 App Inspector 上,我可以点击登录按钮并生成脚本(在 python 中),如下所示:
els1 = driver.find_elements_by_accessibility_id("login")
els1[0].click()
我可以通过点击 App Inspector 上的按钮成功登录到我的应用程序,但在 mac 终端上运行脚本时出现错误:
els3[0].click()
IndexError:列表索引超出范围
我尝试了使用accessibility id
,name
和访问按钮元素的不同方法class name
,但上述方法均无效。
我错过了什么?是不是Appium软件的bug?
经过数小时的谷歌搜索和尝试,我发现问题在于视图刷新。
每次发生视图转换或导航时,更新视图都需要时间。一旦所有内容都更新,webDriver 可以使用给定的搜索参数成功识别元素。
因此,在每次交互之间只需等待一秒钟:
el1 = driver.find_element_by_accessibility_id("login")
el1.click()
// wait for the view to get updated
driver.implicitly_wait(1)
els2 = driver.find_elements_by_name("Edit")
els2[0].click()
脚本将按预期运行。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句