Appuim+Java环境搭建及简单实例

   日期:2020-05-29     浏览:169    评论:0    
核心提示:一、下载jdk并配置好环境二、下载Android-sdk并配置好环境三、下载Eclipse软件四、下载Node.js下载地址:https://nodejs.org/en/download/,或者云盘上下载傻瓜式安装即可,如果改变的安装路径,需要要配置npm参数,把命令当中的路径换成实际路径,打开cmd,操作如下:npm config set prefix=“D:\\Program Files\\nodejs\\node_global”npm config set cache=“D:\\Program测试

Appuim+Java环境搭建及简单实例

一、下载jdk并配置好环境
二、下载Android-sdk并配置好环境
三、下载Eclipse软件

四、下载Node.js
下载地址:https://nodejs.org/en/download/,或者云盘上下载:node-v12.16.3-x64.msi

傻瓜式安装即可,如果改变的安装路径,需要要配置npm参数,把命令当中的路径换成实际路径,打开cmd,操作如下:
npm config set prefix=“D:\Program Files\nodejs\node_global”
npm config set cache=“D:\Program Files\nodejs\node_cache”
npm config set init-module=“D:\Program Files\.npm-init.js”
npm config set registry=“https://registry.npm.taobao.org/”
npm config set tmp=“D:\Program Files\Temp”
npm config set userconfig=“D:\Program Files\.npmrc”
安装完成后进行验证,cmd:node -v

五、Appuim下载
Appium 目前托管在github,正确的Appuim下载地址:https://github.com/appium/appium-desktop/releases/tag/v1.12.1,或者云盘上下载
*安装完成后,需要配置路径,将node_modules.bin目录放到系统path环境下,即将路径D:\Program Files (x86)\Appium\node_modules.bin添加到环境变量path中去。 *(视情况而定,本次实验未做此操作)


选中第一个desktop桌面版的,有元素定位、录制等操作。

cmd下执行命令npm install -g appium-doctor (视情况而定,此实验未做此操作)
六、Appium操作
1、启动程序,点击下方按钮启动软件

2、显示启动成功,点击红圈启动检查器会话


3、启动adb,检查是否有设备接入

4、查看appium启动的页面,并在右下角编辑输入需要的信息,保存,左上角选中自动启动服务。页面效果如下:
其中需要填入的信息如下:
“platformName”: “Android”, #系统
"platformVersion ": “10”, #系统版本
“deviceName”: “xx”, #手机名称
“appPackage”: “xx.xx.xxxt”, #软件安装包Package
“appActivity”: “xx.xx.xxxxxxxx”#软件安装包Activity
“App”: “D:\xx.apk” #手机安装包路径,如果手机有安装,可以不添加

5、点击右下角启动session,此时手机端要保证可以安装程序Appium Setting,

6、启动后页面效果如下,其中最上方红圈为录制操作,红圈最左侧的向右的箭头是滑动操作,右侧的红圈为点击发送事件操作:

7、启动录制后,点击右上角展示详细代码:

七:Eclipse+java操作
1、启动Eclipse软件,并创建java project项目,创建JUnit Test Case,选择junit 4,并在完成的时候导入所有的junit 4 的包

2、编写代码前导入三个jar包,云盘上有,也可http://selenium-release.storage.googleapis.com/index.html这里下载

3、可以自己编写代码,可以复制录制操作的代码,如下:

import static org.junit.Assert.*;

import org.junit.Test;
import io.appium.java_client.MobileElement;
import io.appium.java_client.android.AndroidDriver;
import junit.framework.TestCase;
import org.junit.After;
import org.junit.Before;
import java.net.MalformedURLException;
import java.net.URL;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.support.ui.Sleeper;

public class appium {

  private AndroidDriver driver;

  @Before
  public void setUp() throws MalformedURLException {
    DesiredCapabilities desiredCapabilities = new DesiredCapabilities();
    desiredCapabilities.setCapability("platformName", "Android");
    desiredCapabilities.setCapability("platformVersion", "10");
    desiredCapabilities.setCapability("deviceName", "XXXXXXXXXXXXX");
    desiredCapabilities.setCapability("appPackage", "com.android.deskclock");
    desiredCapabilities.setCapability("appActivity", "com.android.deskclock.AlarmsMainActivity");

    URL remoteUrl = new URL("http://localhost:4723/wd/hub");

    driver = new AndroidDriver(remoteUrl, desiredCapabilities);
    System.out.println("程序启动");
  }

  @Test
  public void sampleTest() throws InterruptedException {
    MobileElement el1 = (MobileElement) driver.findElementByXPath("/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout[2]/android.widget.RelativeLayout[1]/android.widget.ListView/android.widget.FrameLayout[1]/android.widget.RelativeLayout/android.widget.RelativeLayout[2]/android.widget.Switch");
    el1.click();
    Thread.sleep(1000);
    MobileElement el2 = (MobileElement) driver.findElementByXPath("/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout[2]/android.widget.RelativeLayout[1]/android.widget.ListView/android.widget.FrameLayout[2]/android.widget.RelativeLayout/android.widget.RelativeLayout[2]/android.widget.Switch");
    el2.click();
    Thread.sleep(1000);
    System.out.println("程序执行完成");
  }

  @After
  public void tearDown() {
    driver.quit();
    System.out.println("已退出程序");
  }
}
	


4、如手机端未安装apk,可在项目中创建app存放的文件夹,aa,并在@before中加入代码:

		// 获取当前程序的路径
		File classpathRoot = new File(System.getProperty("user.dir"));
		// 获取apps文件
		File appDir = new File(classpathRoot, "app存放的文件夹名称");
		// 获取apk文件
		File app = new File(appDir, "xx.apk");//apk名称

5、启动程序中可加入捕获异常操作:

		try {
			driver = new AndroidDriver<>(new URL("http://localhost:4723/wd/hub"), desiredCapabilities);
		} catch (MalformedURLException e) {
			e.printStackTrace();
		}


6、可参照类似于selenium的api进行元素获取并操作:

WebElement xx = driver.findElement(By.id("xx"));
xx.click();
 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服