当前位置: 首页 > news >正文

3、第一个Appium测试

运行脚本前环境准备:

1、IDE,推荐使用IJ

2、安装jdk环境,推荐>1.8

3、准备一台真机或者模拟器

4、SDK

5、maven环境

 

项目目录:

CalculatorTest.java文件代码:
package example;
import org.openqa.selenium.*;
import org.openqa.selenium.remote.DesiredCapabilities;
import io.appium.java_client.android.AndroidDriver;
import java.net.MalformedURLException;
import java.net.URL;
public class CalculatorTest {
    public static AndroidDriver driver;
    public static void main(String[] args) throws MalformedURLException,
            InterruptedException {
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability("deviceName", "msm8953_64");
        capabilities.setCapability("automationName", "Appium");
        capabilities.setCapability("platformName", "Android");
        capabilities.setCapability("platformVersion", "6.0");
        capabilities.setCapability("appPackage", "com.android.calculator2");
        capabilities.setCapability("appActivity", ".Calculator");
        driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"),
                capabilities);
        driver.findElementByAndroidUIAutomator("text(\"1\")").click();
        driver.findElementByAndroidUIAutomator("text(\"+\")")  .click();
        driver.findElementByAndroidUIAutomator("text(\"6\")").click();
        driver.findElementByAndroidUIAutomator("text(\"=\")").click();
        Thread.sleep(2000);
        String result = driver.findElement(By.id("com.android.calculator2:id/result"))
                .getText();
        System.out.println(result);
        driver.quit();
    }
}

 

pom.xml文件(配置java-client):

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.test1.cn</groupId>
    <artifactId>testC</artifactId>
    <version>1.0-SNAPSHOT</version>


    <dependencies>
        <dependency>
            <groupId>io.appium</groupId>
            <artifactId>java-client</artifactId>
            <version>3.2.0</version>
            <scope>test</scope>
        </dependency>
    </dependencies>


</project>

 

CalculatorTest.java代码较为简单,启动计算机,计算1+6,然后打印结果,pom.xml主要 配置java-client  下面我们对CalculatorTest.java代码进行详细分析

deviceName:启动哪种设备,是真机还是模拟器? iPhone SimulatoriPad SimulatoriPhone Retina 4-inch
Android EmulatorGalaxy S4...
automationName: 使用哪种自动化引擎。 appium(默认) 还是 Selendroid
platformName: 使用哪种移动平台。 iOS, Android, orFirefoxOS
platformVersion: 指定平台的系统版本。 例如指的 Android 平台, 版本为 5.1
appActivity: 待测试的 app Activity 名字。 比如 MainActivity.Settings。 注意, 原生 App 的话要在activity 前加个"."
appPackage: 待测试的 app Java package。 比如 com.example.android.myAppcom.android.settings

元素定位:

driver.findElementByAndroidUIAutomator("text(\"1\")").click();

 

 

转载于:https://www.cnblogs.com/suim1218/p/8781462.html

相关文章:

  • 【代码片段】Python发送带图片的邮件
  • @Autowired @Resource @Qualifier的区别
  • 区块链学习路线
  • Activity事件分发机制
  • ListT常用操作函数
  • Tomcat 的连接数与线程池
  • JVM内存模型
  • windows下安装redis以及redis扩展,设置redis为windows自启服务
  • HTML中动态生成内容的事件绑定问题
  • Scala学习之路 (五)Scala的关键字Lazy
  • ListView封装实现下拉刷新和上拉加载
  • 搜狗旅行翻译宝亮相香港环球资源电子展 AI翻译成全场最大亮点
  • 43.AzureVM复制到另一个Azure区域
  • 如何在虚拟机中访问真机的虚拟域名
  • java中的hashCode
  • 11111111
  • 78. Subsets
  •  D - 粉碎叛乱F - 其他起义
  • DataBase in Android
  • echarts花样作死的坑
  • ES10 特性的完整指南
  • java正则表式的使用
  • ng6--错误信息小结(持续更新)
  • PAT A1050
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • Vue UI框架库开发介绍
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 阿里云Kubernetes容器服务上体验Knative
  • 从setTimeout-setInterval看JS线程
  • 分类模型——Logistics Regression
  • 复杂数据处理
  • 回顾2016
  • 微信小程序填坑清单
  • 我的业余项目总结
  • AI算硅基生命吗,为什么?
  • ​MySQL主从复制一致性检测
  • ​业务双活的数据切换思路设计(下)
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (ibm)Java 语言的 XPath API
  • (二)WCF的Binding模型
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • (转)nsfocus-绿盟科技笔试题目
  • (转)shell中括号的特殊用法 linux if多条件判断
  • (转)关于pipe()的详细解析
  • (转载)在C#用WM_COPYDATA消息来实现两个进程之间传递数据
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .naturalWidth 和naturalHeight属性,
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .net下的富文本编辑器FCKeditor的配置方法
  • .net用HTML开发怎么调试,如何使用ASP.NET MVC在调试中查看控制器生成的html?
  • /usr/bin/perl:bad interpreter:No such file or directory 的解决办法
  • :如何用SQL脚本保存存储过程返回的结果集
  • [ C++ ] STL---仿函数与priority_queue
  • [ vulhub漏洞复现篇 ] Hadoop-yarn-RPC 未授权访问漏洞复现