Appium自动化测试踩坑记录
程序员文章站
2022-07-12 21:21:12
...
Appium自动化测试
Appium、java、node.js环境配置
遇到的问题及解决方案
-
selenium-java以及selenum-server版本要相互匹配并不要太高;
-
java-clinet版本不宜过高,建议使用5.0.0-BETA9;
-
guava.jar版本不能低于22.0,建议使用22.0以上版本。
-
运行测试程序后被测Apk已打开但Appium报start session失败,查看对比目标Activity路径和当前Activity路径,current的路径后面多一个逗号,(Appium自身的bug)打开Appium路径Appium\node_modules\appium\node_modules\appium-adb\lib中打开adb.js添加如下代码:
foundActivity = foundActivity.replace(/,/g, '');
添加后如下图:
依赖项
使用示例
AS新建项目创建空的java-library并进行依赖项导入。
测试程序示例:
public class AndroidContactsTest {
//Driver
private WebDriver driver = null;
/**
* 配置启动driver
* @throws Exception
*/
@Before
public void setUp() throws Exception {
// File classpathRoot = new File(System.getProperty("user.dir"));
// //app的目录0
// File appDir = new File(classpathRoot, "/src/main/java/apps/");
// //app的名字,对应你apps目录下的文件
// File app = new File(appDir, "ContactManager.apk");
//创建Capabilities
DesiredCapabilities capabilities = new DesiredCapabilities();
//运行目标平台
capabilities.setCapability("platformName", "Android");
//设置要调试的模拟器的名字
capabilities.setCapability("deviceName","192.168.43.117:5555");
//设置模拟器的系统版本
capabilities.setCapability("platformVersion", "6.0");
//设置app的路径
//capabilities.setCapability("app", app.getAbsolutePath());
//设置app的包名
capabilities.setCapability("appPackage", "com.decard.livedataex");
//设置app的启动activity
capabilities.setCapability("appActivity", ".MainActivity");
capabilities.setCapability("sessionOverride", true); //每次启动时覆盖session,否则第二次后运行会报错不能新建session
//启动driver
driver = new AndroidDriver<AndroidElement>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
// Create driver, set the Appium Server details.
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
}
@After
public void tearDown() throws Exception {
//测试完毕,关闭driver,不关闭将会导致会话还存在,下次启动就会报错
driver.quit();
}
/**
* 要执行的的测试方法
*/
@Test
public void addContact(){
driver.findElement(By.id("com.decard.livedataex:id/changeBtn")).click();
addContact();
}
Appium启动
cmd启动:
appium -a 127.0.0.1 -p 4723 -U 被测设备连接名 --no-reset
示例:
appium -a 127.0.0.1 -p 4723 -U 192.168.43.117:5555 --no-reset
启动成功后如下图: