栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

appium简介,简单自动化开发

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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;


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();
	    
		
		

	}

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/757274.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号