关于阿匹安的问题
本文关键字:问题 于阿匹 | 更新日期: 2023-09-27 18:16:20
请原谅我,因为我对Appium比较陌生。我正在用Appium为我的Android应用程序编写c#测试。我一直在寻找下面问题的答案。
1)如何检查某个特定元素是否存在?是否有任何布尔属性或函数返回真或假?如果元素不存在,driver.GetElementById
, driver.GetElementByName
等方法会抛出异常。
2)假设我想为登录写一个测试。用户输入用户名和密码,点击登录按钮。请求发送到服务器,服务器检查数据库中是否存在用户名-密码对。同时屏幕上显示加载指示器(Android中的进度对话框)。如何使测试暂停它的执行,直到响应来自服务器假设我不想使用像Thread.Sleep
函数的东西?
3)我可以在屏幕上检查文本字段验证是否失败吗?如果我们通过setError
函数为该文本字段设置验证,则在验证失败时,文本字段下方显示黑色背景和白色文本的控件。有没有办法检查验证是否失败?
期待答案。谢谢。
对于前两个问题(这是我在java中做的,绝对可以在c#中实现)-
1)使用轮询技术-在循环中检查以下
的元素返回@param - By by , int time
driver.findElement(By by);
不能为null或空。如果在阈值时间内元素不存在,则测试失败。在appium模式下- isVisible()将与上面的相同,因为不可见的元素将不存在。
2)检查等待的下一个活动。使用相同的轮询技术继续比较当前活动和等待的活动,如果等待的活动没有在阈值时间内启动,则测试失败。
@param int time, String awaitedActivity
1)获取当前活动。2)与等待活动进行比较。3)如果相同,那么打破循环。4)否则先休眠一秒钟,然后继续,直到时间耗尽