为了给大家提供便捷,还有一个用Robotium构建的用于测试脚本创建的一个非常棒的记录工具——Testdroid Recorder。当你在真实设备上执行实际行动时,它可以记录你的每一个步骤和每一个行为,并转换成JavaScript,以便于你进一步的修改。
并且,你还可以全权下载和使用它的扩展库——ExtSolo,它里面包含了多种还没有被纳入到Robotium中的实用方法,例如:
支持任意分辨率的x、Y点击自动缩放
多路径拖动
测试故障时自动截图
模拟地点
更改设备语言
控制WiFi连接
官方网站:https://code.google.com/p/robotium/
虽然Robotium是一个很好的测试框架,但是uiautomator能让你在测试Android应用和Android游戏时做得更多。谷歌的测试框架允许你在一个或多个设备上测试原生Android应用的用户界面(UI)。Uiautomator的另一个优点是,它运行的JUnit测试用例是有特殊权限的,这意味着测试用例可以跨越不同的进程。它还提供了五种不同的类给开发人员使用:
com.android.uiautomator.core.UiCollection; com.android.uiautomator.core.UiDevice; com.android.uiautomator.core.UiObject; com.android.uiautomator.core.UiScrollable; com.android.uiautomator.core.UiSelector
遗憾的是,uiautomator只能工作于API16或更高级别的Android设备上。它的另一个缺点是不支持web视图,也没有办法直接访问Android对象。robotium
uiautomator的代码示例:
// Public void for the operation
public void testSignInAndTweet() throws Exception {
// Starting application:
getUiDevice().wakeUp(); // Press Home button to ensure we're on homescreen
getUiDevice().pressHome(); // Select 'Apps' and click button
new UiObject(new UiSelector().description("Apps")).click(); // Select 'Twitter' and click
new UiObject(new UiSelector().text("Twitter")).click(); // Locate and select 'Sign in'
UiSelector signIn = new UiSelector().text("Sign In"); // If button is available, click
UiObject signInButton = new UiObject(signIn);
if (signInButton.exists()) {
signInButton.click(); // Set the username
new UiObject(new
UiSelector().className("android.widget.EditText").instance(0)).setText("username");
new UiObject(new
UiSelector().className("android.widget.EditText").instance(1)).setText("password");
new UiObject(new UiSelector().className("android.widget.Button").
text("Sign In").instance(0)).click(); // Wait Sign in progress window
getUiDevice().waitForWindowUpdate(null, 2000); // Wait for main window
getUiDevice().waitForWindowUpdate(null, 30000);
}
new UiObject(new UiSelector().description("New tweet")).click(); // Typing text for a tweet
new UiObject(new UiSelector().className("android.widget.LinearLayout").instance(8)).
setText("Awesome #Testdroid!"); // Tweeting!
new UiObject(new UiSelector().text("Tweet")).click();
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-27038-2.html
badboy
他在体制内演讲
台湾同胞户口迁移实行多样补贴和帮助
获得更好的发展