整点 appium 中部分 api 的使用方法

前言:

Appium 是一个开源的自动化测试框架,支持在 iOS 和 Android 平台上进行移动应用程序自动化测试。在 Appium 中,可以使用多种编程语言来编写测试脚本,其中包括 Java、Python、Ruby、JavaScript 等。

使用的语言是 java,appium 的版本是 1.3.4,java-client 的版本是 java-client-2.1.0,建议多参考 java-client-2.1.0-javadoc。

1.使用 AndroidDriver,其已经继承了 AppiumDriver

private AndroidDriver driver;

    @Before
    public void setUp() throws Exception {
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability("deviceName", "Android Emulator");
        capabilities.setCapability("platformVersion", "4.4");
        capabilities.setCapability("platformName", "Android");
        capabilities.setCapability("appPackage", "com.android.settings");
        capabilities.setCapability("appActivity", ".Settings");

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

    @After
    public void tearDown() throws Exception {
        driver.quit();
    }

2.截屏并保存至本地

File screen = driver.getScreenshotAs(OutputType.FILE);
        File screenFile = new File("d:\\screen.png");
        try {
            FileUtils.copyFile(screen, screenFile); //commons-io-2.0.1.jar中的api
        } catch (IOException e) {
            e.printStackTrace();
        } 

3.push 文件、pull 文件

File file = new File("d:\\test.txt"); //test.txt内容为"testerHome"
        String content = null;
        try {
            content = FileUtils.readFileToString(file);
        } catch (IOException e) {
            e.printStackTrace();
        }

        byte[] data = Base64.encodeBase64(content.getBytes());
        driver.pushFile("sdcard/test.txt", data);

        byte[] resultDate = driver.pullFile("sdcard/test.txt");
        System.out.println(new String(Base64.decodeBase64(resultDate))); //打印结果为"testerHome"

4.

//获取当前界面的activity,可用于断言是否跳转到预期的activity
driver.currentActivity();

5.

//打开通知栏界面
driver.openNotifications();

6.

//获取网络状态
int status = driver.getNetworkConnection().value;
System.out.println(status);

//设置网络状态
driver.setNetworkConnection(new NetworkConnectionSetting(status));
//或者
driver.setNetworkConnection(new NetworkConnectionSetting(false, true, false));

7.

//启动其他应用,跨APP
driver.startActivity("com.android.camera", ".CameraLauncher");

8.

//自动滑动列表
driver.scrollTo("text");
//或者
driver.scrollToExact("text"); 

9.拖动元素

//拖动相机图标至日历图标位置
new TouchAction(driver).longPress(driver.findElementByName("相机"))
.moveTo(driver.findElementByName("日历")).release().perform();

10.图案解锁,解锁该图案:

TouchAction action = new TouchAction(driver);
action.press(215, 870).moveTo(540, 870).moveTo(862, 870)
        .moveTo(540, 1195).moveTo(215, 1195).moveTo(215, 1518)
        .moveTo(540, 1518).moveTo(862, 1518).moveTo(862, 1195)
        .release().perform();

  作为一位过来人也是希望大家少走一些弯路

在这里我给大家分享一些自动化测试前进之路的必须品,希望能对你带来帮助。

(软件测试相关资料,自动化测试相关资料,技术问题答疑等等)

相信能使你更好的进步!

点击下方小卡片

【自动化测试交流】:574737577(备注ccc)icon-default.png?t=N6B9http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=OetrT9f88edRYNIQKFJOmrs6RHyWXP3y&authKey=bgPQfqmHo0NrA1BoVHRRETiUqnaJESQZRv5yxL9Ab4YfabTZAQ481HuPpZ6kA%2Ftd&noverify=0&group_code=574737577 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值