UIAutomation: 登录界面测试实例

简介:

功能介绍:包括2个文本输入框,分别叫 User name 、 Password ,和一个按钮,叫 Login。
  以下为测试脚本:

//Get the handle of application main window
var window = UIATarget.localTarget().frontMostApp().mainWindow();
//Get the handle of view
var view = window.elements()[0];
var textfields = window.textFields();
var passworldfields = window.secureTextFields();
var buttons = window.buttons();
var textviews = window.textviews();
var statictexts = window.staticTexts();
var target = UIATarget.localTarget();
//Check number of Text fields
if(textfields.length != 1)
{
UIALogger.logFail("FAIL: Invalid number of Text fields");
}
else
{
UIALogger.logpass("PASS: Correct number of Text fields");
}
//TESTCASE_001: Test Log on Screen
//Check existence of desired TextField on UIScreen
if(textfields["username"]==null || textfields["username"].toString() == "[object UIAELementNil]")
{
UIALogger.logFail("FAIL:Desired textfield not found.");
}
else
{
UIALogger.logPass("PASS: Desired UITextfield is available");
}
//TESTCASE_1.2:Check existence desired of PasswordField On UIScreen
if(passwordfields[0] == null || passworldfields[0].toString() == "[object UIAElementNil]")
{
UIALogger.logFail("FAIL: Desired UISecureField not found.");
}
else
{
UIALogger.logPass("PASS: Desired UISecureField is available");
}
//TESTCASE_1.3 :Check for Existence of Buttons On UIScreen
if(button["logon"] == null || buttons["logon"].toString() == "[object UIElementNil]")
{
UIALogger.logFail("FAIL:Desired UIButton not found.");
}
else
{
UIALogger.logPass("PASS:Desired UIButton is available");
}
//TESTCASE_001: Missing User Name
textfields["username"].setValue("");
passwordfields[0].setValue("password");
buttons["logon"].tap();
//target.delay(2);
var errorVal = textviews["error"].value();
if(errorVal != "Invalid User Name or PassWord")
{
UIALoger.logFail("Did Not Get Missing UserName Error:" + errorVal);
}
else
{
UIALogger.logPass("Missing User Name");
}
//TESTCASE_003: Successful Log On
textfields["username"].setValue("username");
passwordfields[0].setValue("password");
buttons["logon"].tap();
target.delay(2);

最新内容请见作者的GitHub页:http://qaseven.github.io/

相关文章
|
2月前
|
存储 弹性计算 运维
阿里云服务器ECS经济型e实例详细介绍_性能测试和租用价格
阿里云服务器ECS经济型e实例详细介绍_性能测试和租用价格,阿里云服务器ECS推出经济型e系列,经济型e实例是阿里云面向个人开发者、学生、小微企业,在中小型网站建设、开发测试、轻量级应用等场景推出的全新入门级云服务器,CPU采用Intel Xeon Platinum架构处理器,支持1:1、1:2、1:4多种处理器内存配比,e系列性价比优选
|
1月前
|
Java
java面向对象高级分层实例_测试类(main方法所在的类)
java面向对象高级分层实例_测试类(main方法所在的类)
10 1
|
1月前
|
测试技术 Android开发
快速上手App自动化测试利器,Toast原理解析及操作实例
`Toast`是Android中的轻量级通知,短暂显示在屏幕任意位置,1-2秒后自动消失,不获取焦点且不可点击。Appium通过uiautomator2在控件树中处理Toast。在测试中,可设置隐式等待,利用XPath或Accessibility ID定位Toast元素进行检测和验证。示例代码展示了如何初始化driver,点击触发Toast,以及如何定位并读取Toast文本。
24 3
|
2月前
|
存储 弹性计算 运维
阿里云经济型e实例详细介绍_性能测试_使用限制说明
阿里云服务器ECS推出经济型e系列,经济型e实例是阿里云面向个人开发者、学生、小微企业,在中小型网站建设、开发测试、轻量级应用等场景推出的全新入门级云服务器,CPU采用Intel Xeon Platinum架构处理器
|
4月前
|
弹性计算 测试技术 开发者
我使用了阿里云的e实例进行了一系列性能测试
我使用了阿里云的e实例进行了一系列性能测试
61 0
|
6月前
|
Kubernetes jenkins 测试技术
【Kubernetes的DevOps自动化,Jenkins上的Pipeline实现自动化构建、测试、部署、发布以及Bookinginfo实例的部署灰度发布故障注入流量】
【Kubernetes的DevOps自动化,Jenkins上的Pipeline实现自动化构建、测试、部署、发布以及Bookinginfo实例的部署灰度发布故障注入流量】
125 1
|
7月前
|
存储 弹性计算 运维
阿里云服务器e实例优惠价格表及性能测试
阿里云服务器e实例优惠价格表及性能测试,阿里云ECS云服务器e系列2核2G配置182元一年、2核4G配置365元一年、2核8G配置522元一年
85 0
|
8月前
|
弹性计算 缓存 网络协议
测试:阿里云U1实例(通用算力型实例)服务器详细介绍
性能测试:阿里云U1实例(通用算力型实例)服务器详细介绍
223 0
|
9月前
【IDEA】同一个应用运行多个测试实例(以不同端口)
【IDEA】同一个应用运行多个测试实例(以不同端口)
107 0
|
11月前
|
弹性计算 监控 Java
ECS u1实例测试
ECS u1实例测试
188 0