ui自动化测试是啥
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ui自动化测试是啥相关的知识,希望对你有一定的参考价值。
参考技术A UI自动化 就是让浏览器可以在你编译好代码后 运行 然后自动操作你代码里面写好的内容Xcode UI 测试:如何在继续测试之前检查下一个 XCUIElement 是啥
【中文标题】Xcode UI 测试:如何在继续测试之前检查下一个 XCUIElement 是啥【英文标题】:Xcode UI Test: How to check what is the next XCUIElement before proceed testXcode UI 测试:如何在继续测试之前检查下一个 XCUIElement 是什么 【发布时间】:2017-01-23 15:56:22 【问题描述】:我在第 1 页并想导航到第 2 页。但是当我制作 第 1 页上的 http Get 请求,如果服务器忙,它将返回错误,我将在警报视图中显示错误,但是如果请求成功,则我将导航到第 2 页。除此之外,如果我的 http Get请求返回错误,我将重复调用 http Get 请求,直到能够继续到第 2 页。现在的问题是我如何知道将出现的下一个 UI 是什么,目前我使用下面的代码来检查下一个元素会出现,但是当找不到元素时,此方法将终止测试。任何可以检查是否找到元素A然后继续步骤A的解决方案,否则如果元素B然后步骤B。对不起我的英语和长句。
XCUIElement *label = self.app.staticTexts[@"Page 2"];
NSPredicate *exists = [NSPredicate predicateWithFormat:@"exists == 1"];
[self expectationForPredicate:exists evaluatedWithObject:label handler:nil];
[self waitForExpectationsWithTimeout:10.0f handler:nil];
【问题讨论】:
【参考方案1】:您的问题是您的测试不是确定性的:您无法确定来自服务器的响应是否会成功。要消除服务器引入的这种不确定性,您可以存根或模拟对服务器的请求。
您可以创建一个模拟服务器,该服务器设置为在特定条件下发送特定响应,或者您可以使用存根框架在应用程序中存根响应。
我使用OHHTTPStubs 来执行此操作。 Just Eat 写了一篇good blog post 来介绍如何在 UI 测试中实现它,但如果你使用 Swift,则需要从 Objective-C 翻译它。
【讨论】:
感谢您的宝贵时间,但这对我来说不是一个好的选择,因为我必须根据要求在真实的实时(生产)服务器上测试我的应用程序。那么没有别的办法了吗? 如果您无法控制服务器的响应,您将无法判断您将要测试什么。根据测试期间发现的 UI 元素,您可以有一个很大的 if/else 语句,但是不知道每个测试正在测试什么是非常糟糕的做法,并且您不会知道您是否测试了这两种情况。跨度>以上是关于ui自动化测试是啥的主要内容,如果未能解决你的问题,请参考以下文章