使用Selenium在Andriod系统上进行测试

3 views
Skip to first unread message

Bear Wu

unread,
Jul 20, 2011, 3:48:20 AM7/20/11
to WATF Forum
基本原理:和在iPhone上的测试类似,也是通过在Andriod系统的终端(真实机或模拟器)安装并启动webdriver服务,然后在PC上启动
测试程序,通过与webdriver的通信来驱动测试。

基本步骤:
详细步骤可参考官方文档:http://code.google.com/p/selenium/wiki/AndroidDriver
1. 在PC上安装Andriod SDK.
2. 配置一个Andriod AVD(目前试验的avd是Andriod 2.2的,更高的版本可能有问题),启动该配置对应的emulator。
3. 通过adb命令,在模拟器上安装webdriver服务;直接在模拟器上启动该服务;通过adb forward命令,将PC本机的8080端口
映射到模拟器的8080端口。
4. 在PC机上,下载最新的Selenium-java-X.zip,并用其开发测试脚本,然后就可以运行测试了。

下面是我写的一个测试脚本:
/** Sample.java */

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.android.AndroidDriver;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.WebDriverWait;

public class Sample {

public static void main(String[] args) {
AndroidDriver driver = new AndroidDriver();
driver.get( "http://10.7.1.102:8080" );
try {
driver.findElementByName( "nameField" ).sendKeys( "wl3admin" );
driver.findElementByName( "passwordField" ).sendKeys( "password" );
driver.findElementByName( "login0" ).click();
WebDriverWait wait = new WebDriverWait( driver, 15 );
wait.until( new ExpectedCondition<Boolean>() {
public Boolean apply( WebDriver d ) {
return d.getTitle().equals( "Home" );
}
} );
} catch ( Exception e ) {
System.out.println( e.getMessage() );
} finally {
System.out.println( "Current page: " + driver.getTitle() );
driver.findElementByLinkText( "Logout" ).click();
driver.quit();
}
}

}

Reply all
Reply to author
Forward
0 new messages