appium简介,简单自动化开发

一、appium简介

appium类库封装了标准Selenium客户端类库,为用户提供所有常见的JSON格式selenium命令以及额外的移动设备控制相关的命令,如多点触控手势和屏幕朝向。

1、appium特点

支持跨平台,支持liunx、windows及maxos系统运行

支持多语言开发,支持python、java、php等

2、appium工作原理

3、环境安装

支持jdk1.8以上的版本,配置环境变量正确。

安装node基础环境

安装appium,配置如下

安装eclipse,进行脚本开发

安装模拟器

二、appium开发自动化测试脚本

1、创建工程

启动eclipse,创建java工程

添加一个lib文件夹

复制三个jar包到lib中

选中三个jar包,并右键->build path->add to build path

src下创建包:com.qf.calc

包下创建class类文件

2、实现计算器的加法功能的自动化脚本

package com.qf.calc;

import java.net.MalformedURLException;
import java.net.URL;

import org.openqa.selenium.remote.DesiredCapabilities;

import io.appium.java_client.AppiumDriver;

/*
	自动化实现计算器app的加法运算:1+2=3
	c/s架构系统:
		c:现在写的这个脚本
		s:appium服务,现在已经正常运行了
	
	分析:	
		先做一个配置,要指定:
			测试的app所在的平台是什么:Android、ios、firefoxos
			测试的设备是手机还是模拟器?Android Emulator、序列号
			指定android的版本号是多少?5.1.1
			操作哪一个app:包名
			操作的入口:activity
		
		c端需要连接s端的appium服务,
		
		
		找到了设备及设备上的app了
			就可以进行页面元素识别和操作了。
			给出断言
			
 */
public class CalcTest {

	public static void main(String[] args) throws MalformedURLException, InterruptedException {
		// TODO Auto-generated method stub
		//DesiredCapabilities类就是封装配置参数的
		DesiredCapabilities des = new DesiredCapabilities();
		des.setCapability("platformName", "Android");
		des.setCapability("platformVersion", "5.1.1");
		des.setCapability("deviceName", "Android Emulator");
		des.setCapability("appPackage", "com.lilysgame.calculatorjw");
		des.setCapability("appActivity", "com.lilysgame.calculator.MainActivity");
		des.setCapability("noReset", true);
		
		//c端需要连接s端的appium服务
		//driver = webdriver.Chrome()
		//创建appium的对象
		//匿名对象:new xx()
		AppiumDriver driver = new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"),des);
		
		
		//就可以进行页面元素识别和操作了。1+2=3
		//com.lilysgame.calculatorjw:id/btnOne
		//点一下1按钮
		driver.findElementById("com.lilysgame.calculatorjw:id/btnOne").click();
		Thread.sleep(2000);
		
		//点一下+按钮
		driver.findElementById("com.lilysgame.calculatorjw:id/btnAdd").click();
		Thread.sleep(2000);
		
		//点一下2按钮
		driver.findElementById("com.lilysgame.calculatorjw:id/btnTwo").click();
		Thread.sleep(2000);
		
		//点一下=按钮
		driver.findElementById("com.lilysgame.calculatorjw:id/btnEqual").click();
		Thread.sleep(2000);
				
		//断言,查看结果是不是3
		String shiJi = driver.findElementById("com.lilysgame.calculatorjw:id/et_show").getAttribute("text");
		String yuQi = "3";
		
		if(shiJi.equals(yuQi)){
			System.out.println("测试通过");
		}else{
			System.out.println("测试失败");
		}
		
		
		//关闭对象
		driver.quit();
	}

}
 
通过eclipse编写自动化脚本,appium实现接收,对模拟器进行自动化登录操作

package qiqi;

import java.net.MalformedURLException;
import java.net.URL;

import org.openqa.selenium.remote.DesiredCapabilities;

import io.appium.java_client.AppiumDriver;

public class qq {

 

	public static void main(String[] args) throws MalformedURLException, InterruptedException {
		// TODO Auto-generated method stub
		DesiredCapabilities des = new DesiredCapabilities();
		des.setCapability("platformName","Android");
		des.setCapability("platformVersion","7.1.2");
		des.setCapability("deviceName","Android Emulator");
		des.setCapability("appPackage","com.tencent.qqlite");
		des.setCapability("appActivity","com.tencent.mobileqq.activity.RegisterGuideActivity");
		des.setCapability("noReset", true);
		//com.tencent.qqlite:id/btn_login  
		AppiumDriver driver = new AppiumDriver(new URL("http://0.0.0.0:4723/wd/hub"),des);
		driver.findElementById("com.tencent.qqlite:id/btn_login").click();
		Thread.sleep(3000);
	    driver.findElementByAccessibilityId("请输入QQ号码或手机或邮箱").sendKeys("3577715614");
	    Thread.sleep(2000); 
	    driver.findElementByAccessibilityId("请输入密码").sendKeys("wjq666wjq");
	 
	    driver.findElementByAccessibilityId("登录QQ").click();
	    
		
		

	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值