ui自动化测试有用吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ui自动化测试有用吗相关的知识,希望对你有一定的参考价值。

参考技术A 现在客户端流行的ui自动化测试框架层出不穷,但是也有很多人质疑UI自动化测试对测试本身的投入产出比,甚至认为UI自动化测试有用吗.

一.UI异常

UI异常包括白屏,黑屏,数据加载异常,花屏,重影,错位,覆盖等.

二.UI自动化测试的使用场景

UI测试主要测试的是产品的功能需求.那么,功能主要验证的方面有:

我们每测一轮测试,在回归和兼容性方面投入的人力是巨大的.而这些人力做的都是重复的劳动.UI自动化在降低人力方面,发挥着重要的作用.而最近热门的图像识别和深度学习,又给UI自动化测试在页面样式识别方面补足了短板.

三.UI自动化元素定位

很多人反应UI自动化脚本维护成本高,因为页面布局总是在变.所以,UI自动化测试更适合业务相对稳定的产品.而且我们在写自动化脚本时,主要是通过

1.控件识别,控件识别的方法有:

等.而其中最不稳定的就是classPath,最稳定的是id.所以我们如何巧妙的定位控件,成为了其中脚本是否稳定的关键.

2.图片识别:

sikuli/airtest;

3.图片对比:

感知哈希算法;图片缩放;图片像素值对比.

其次,要做好失败重试,和显式隐式等待等,pom模型,用例步骤原子化,独立性。

四.UI自动化测试效果

接口测试我们很容易很清楚的可以拿到接口的成功与失败,响应时间,响应内容.但是客户端琳琅满目.

接口成功了,客户端就一定能看到页面数据吗?这个问题值得我们思考.

从发起请求,到页面呈现.其中诸多环节和诸多耗时.而客户端作为检验产品的最后一个环节,无疑起着决定性的作用.是用户最直观的感受.UI自动化测试就是作为真实用户的角色去检验产品,检验端到端的可用性.

六. 效果对比

您可以使用 appium 自动化基于 ui 的 Web 应用程序吗?

【中文标题】您可以使用 appium 自动化基于 ui 的 Web 应用程序吗?【英文标题】:Can you automate ui based web app with appium? 【发布时间】:2021-06-23 02:08:19 【问题描述】:

我必须自动化 Web 应用程序的 UI。我还需要在移动设备中自动化 UI。 Appium 是否支持这两个平台??? 任何了解 Appium 的人都可以在下方评论。

【问题讨论】:

我假设您在谈论 UI 自动化测试。在这种情况下,将 Appium 用于移动设备,将 Selenium 用于 Web 应用程序。 是否有任何免费的自动化工具可以同时支持非基于云的网络应用和移动应用的测试 【参考方案1】:

是的,Appium 非常适合混合(原生 + 网络)移动应用:

// assuming we have a set of capabilities
driver = new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);

Set<String> contextNames = driver.getContextHandles();
for (String contextName : contextNames) 
    System.out.println(contextName); //prints out something like NATIVE_APP \n WEBVIEW_1

driver.context(contextNames.toArray()[1]); // set context to WEBVIEW_1

//do some web testing
String myText = driver.findElement(By.cssSelector(".green_button")).click();

driver.context("NATIVE_APP");

// do more native testing if we want

driver.quit();

更多详情请访问docs

【讨论】:

以上是关于ui自动化测试有用吗的主要内容,如果未能解决你的问题,请参考以下文章

APP UI自动化测试是鸡肋吗?

多次运行编码的 UI 自动化测试

ui自动化测试是啥

我可以通过单击我的反应应用程序中的按钮来运行 React UI 自动化测试吗?

自动化测试杂谈----金字塔

可可触控自动化UI测试有没有好的教程?