美文网首页
移动app测试框架Appium实践

移动app测试框架Appium实践

作者: 测试老杨 | 来源:发表于2018-08-02 21:11 被阅读219次

1、安装Appium Desktop,用来启动Appium服务

2、在maven工程里面添加如下配置

<dependency>
    <groupId>io.appium</groupId>
    <artifactId>java-client</artifactId>
    <version>5.0.4</version>
</dependency>

3、启动模拟器并打开app(2345浏览器)

image.png

4、检查模拟器和电脑是否连接成功

image.png

5、获取app的包名和app主界面对应的Activity

image.png

mSurface=Surface(name=com.browser2345/com.browser2345.BrowserActivity, identity=215)

6、设计Appium的自动化脚本

1)设置平台名称、平台的版本、测试设备的名称

        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability("platformName", "Android");//指定测试平台
        //指定测试机的ID,通过adb命令[adb devices]获取
        capabilities.setCapability("deviceName", "127.0.0.1:26944"); 
        capabilities.setCapability("platformVersion", "4.2.2");

2)设置被测试的app的包名和app主页的Activity

        capabilities.setCapability("appPackage", "com.browser2345");
        capabilities.setCapability("appActivity", "com.browser2345.BrowserActivity");

3)创建一个驱动(用来操作app的)(app的主界面会被打开)

        driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);

4)输入搜索的关键字

        driver.findElementByXPath("//android.widget.EditText[@text='输入关键字']").sendKeys("zhaowei");

5)点击搜索

        driver.findElementByXPath("//android.widget.Button[@text=' 搜索 ']").click(); 

7、启动Appium服务

image.png
image.png

8、运行Appium测试脚本

image.png
image.png

日志如下:


image.png
[RemoteTestNG] detected TestNG version 6.11.0
八月 02, 2018 6:02:48 下午 org.openqa.selenium.remote.ProtocolHandshake createSession
信息: Detected dialect: OSS
PASSED: testSearch

===============================================
    Default test
    Tests run: 1, Failures: 0, Skips: 0
===============================================


===============================================
Default suite
Total tests run: 1, Failures: 0, Skips: 0
===============================================

完整代码如下:

package app.test;

import java.net.URL;
import java.util.List;
import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.Test;
import io.appium.java_client.AppiumDriver;
import io.appium.java_client.android.AndroidDriver;

public class SearchTest {
    
    private AppiumDriver driver;
    
    @Test
    public void testAdd() throws Exception{
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability("platformName", "Android");//指定测试平台
        capabilities.setCapability("deviceName", "127.0.0.1:26944"); //指定测试机的ID,通过adb命令[adb devices]获取
        capabilities.setCapability("platformVersion", "4.2.2"); 
        //根据上面获取到的包名和Activity名进行设置
        capabilities.setCapability("appPackage", "com.browser2345");
        capabilities.setCapability("appActivity", "com.browser2345.BrowserActivity");
        
        capabilities.setCapability("unicodeKeyboard", true);
        capabilities.setCapability("resetKeyboard", true);

        driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
        //driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
        Thread.sleep(3000);
        driver.findElementByXPath("//android.widget.TextView[@text='上滑更多精彩']").click();
        //
        Thread.sleep(3000);
        driver.findElementByXPath("//android.widget.Button[@text='以后再说']").click();
        Thread.sleep(3000);
        driver.findElementByXPath("//android.widget.TextView[@text='百度一下']").click();
        Thread.sleep(3000);     
        driver.findElementByXPath("//android.widget.EditText[@text='输入关键字']").sendKeys("zhaowei");
        Thread.sleep(3000);
        driver.findElementByXPath("//android.widget.Button[@text=' 搜索 ']").click(); 
        Thread.sleep(3000);
    }
    
    @AfterMethod
    public void end(){
        driver.quit();
    }
}

相关文章

  • 移动app测试框架Appium实践

    1、安装Appium Desktop,用来启动Appium服务 2、在maven工程里面添加如下配置 3、启动模拟...

  • Appium学废系列(一) 初识移动APP自动化测试框架App

    说到移动APP自动化测试,代表性的测试框架非Appium莫属,从今天开始我们将从APP结构解析、Appium框架学...

  • 对比Appium和Calabash

    Appium和Calabash皆为移动App UI自动化测试框架 注: 商用云测试平台Xamarin (https...

  • appium(二) 简介

    appium 简介 appium 是开源的移动端自动化测试框架; appium 可以测试原生的、混合的、以及移动端...

  • IOS 自动化方案选型

    1、先来看目前主流的IOS移动测试框架 Appium:目前最常用的APP自动化测试框架,具备跨平台性; Calab...

  • Appium1.6.4 +JAVA+TestNg+Mac教程

    Appium和它的设计思想 什么是Appium? 1、appium是开源的移动端自动化测试框架; 2、appium...

  • Appium工作原理

    appium简介: Appium是一个开源、跨平台的测试框架,可以用来测试原生及混合的移动端应用。Appium支持...

  • Appium iOS滚动查找元素实践

    Appium 介绍 Appium是一个开源、跨平台的测试框架,可以用来测试原生及混合的移动端应用。Appium支持...

  • Appium安装步骤+android-sdk(uiautomat

    1.Appium介绍 1,appium是开源的移动端自动化测试框架;2,appium可以测试原生的、混合的、以及移...

  • Appium简介

    一、什么是Appium Appium是一个开源、跨平台的测试框架,可以用来测试原生及混合的移动端应用。Appium...

网友评论

      本文标题:移动app测试框架Appium实践

      本文链接:https://www.haomeiwen.com/subject/kpzsvftx.html