【问题标题】:Questions regarding Appium关于Appium的问题
【发布时间】:2014-09-26 18:34:42
【问题描述】:

由于我对Appium 比较陌生,请多多包涵。我正在 Appium 中为我的 Android 应用程序编写 C# 测试。我一直在寻找以下问题的答案。

1) 如何检查特定元素是否存在?是否有任何布尔属性或函数返回真或假?如果元素不存在,driver.GetElementByIddriver.GetElementByName 等方法会抛出异常。

2) 假设我想编写一个登录测试。用户输入用户名和密码并点击登录按钮。请求转到服务器并检查数据库中是否存在用户名-密码对。同时加载指示器(Android 中的进度对话框)显示在屏幕上。假设我不想使用类似Thread.Sleep 函数的东西,如何让测试暂停它的执行,直到响应来自服务器?

3) 我可以检查屏幕上的文本字段验证是否失败吗?如果我们通过setError 函数为该文本字段设置验证,则在验证失败时文本字段下方会显示一个黑色背景和白色文本的控件。有什么方法可以检查验证是否失败?

期待答案。谢谢。

【问题讨论】:

  • 你终于找到解决#3 setError 函数验证问题的解决方案了吗?该怎么做?

标签: c# android testing ui-automation appium


【解决方案1】:

对于前2个问题(这是我用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) Else 睡眠一秒,然后继续直到时间用完。

【讨论】:

    猜你喜欢
    • 2015-05-10
    • 2016-06-24
    • 2016-07-18
    • 2015-04-04
    • 1970-01-01
    • 2018-05-03
    • 1970-01-01
    • 2018-11-27
    • 2023-03-08
    相关资源
    最近更新 更多