TA的每日心情 | 郁闷 2022-8-29 14:43 |
---|
签到天数: 1 天 连续签到: 1 天 [LV.1]测试小兵
|
2#
楼主 |
发表于 2018-2-23 15:49:31
|
只看该作者
然后新建两个文件夹apps和lib,(这里名字可以随便取,只是约定俗成后大家都这么写),如下图
我这里之所以有Referenced Libraries是因为我的lib下的jar包已经添加进引用了。新建的项目应该是
没有的。
将需要测试的apk文件添加进apps文件夹,和需要用到的jar包添加进lib文件夹。
我这里提供两个apk,一个是官方提供的,一个是我自己写的。
jar包则需要去官网下,这里的类库分为两种一种是Selenum2类库(需要其他版本则进这里),
另一种是 Appium类库
下载完成后,将所有的jar包添加进我们的lib文件夹,并全部引用(添加进编译路径)。
note:注意的是selenum下载下来的压缩包,需要解压后,(需要注意的是,解压后应该是有一个jar文
件和一个lib文件夹,jar文件和lib里面的所有jar包都添加进工程的lib文件夹,这里用到的jar包需要是同
一压缩包下面的,不然版本号不匹配会报错);添加编译路径是可以选中所有的jar包然后一起右键添
加的(右键-->Build Path-->Add to Build Path)。
新建一个Java文件,并编写测试代码
新建一个Java class,名字自己写,Java里面的代码如下,
- package com.hust.damnicomniplus;
- import java.io.File;
- import java.net.URL;
- import java.util.List;
- import org.junit.After;
- import org.junit.Before;
- import org.junit.Test;
- import org.openqa.selenium.By;
- import org.openqa.selenium.WebElement;
- import org.openqa.selenium.ie.InternetExplorerDriver;
- import org.openqa.selenium.remote.CapabilityType;
- import org.openqa.selenium.remote.DesiredCapabilities;
- import io.appium.java_client.android.AndroidDriver;
- public class AppiumTest {
- private AndroidDriver driver;
- @Before
- public void setUp() throws Exception {
- //设置apk的路径
- File classpathRoot = new File(System.getProperty("user.dir"));
- File appDir = new File(classpathRoot, "apps");
- File app = new File(appDir, "ContactManager.apk");
- //设置自动化相关参数
- DesiredCapabilities capabilities = new DesiredCapabilities();
- capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
- capabilities.setCapability("platformName", "Android");
- capabilities.setCapability("deviceName", "Android Emulator");
- //设置安卓系统版本
- capabilities.setCapability("platformVersion", "4.4.2");
- //设置apk路径
- capabilities.setCapability("app", app.getAbsolutePath());
- //设置可支持编码,可直接输入中文
- capabilities.setCapability("unicodeKeyboard", true);
- capabilities.setCapability("resetKeyboard", true);
- //设置网络选项,可选项
- capabilities.setCapability(InternetExplorerDriver.IE_ENSURE_CLEAN_SESSION, true);
- //设置app的主包名和主类名
- capabilities.setCapability("appPackage", "com.example.android.contactmanager");
- capabilities.setCapability("appActivity", ".ContactManager");
- //初始化
- driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
- }
- @Test
- public void addContact(){
- WebElement el = driver.findElement(By.name("Add Contact"));
- el.click();
- List<WebElement> textFieldsList = driver.findElementsByClassName("android.widget.EditText");
- textFieldsList.get(0).sendKeys("袁大毛");
- textFieldsList.get(1).sendKeys("15648971455");
- textFieldsList.get(2).sendKeys("kjgierhgi@jhig.com");
- driver.swipe(100, 500, 100, 100, 2);
- driver.findElementByName("Save").click();
- }
- @After
- public void tearDown() throws Exception {
- driver.quit();
- }
- }
复制代码 运行项目之前需要先打开appium,这里在DOS窗口下输入appium或者直接在开始菜单里面运行appium,
如果只有一台设备这里直接运行就行,如果有多台设备则需要自己选中一台后运行(在Android logo
里面选定)。(右上角的运行按钮)
之后运行项目,右键–>Run as Junit Test就行了。
note:运行时如果报错,则显示为http连接等异常,则打开intent explorer–>设置按钮–>Internet 选项
–>安全–>重置到默认(大概是这个意思)。然后重新打开appium,重新运行项目。这里不需要提前将
测试的apk文件安装到手机。
测试项目源码地址
Appium测试Demo(Python,2.7的版本也可以,我这里使用的3.5)
首先下载appium的依赖包
Dos窗口输入pip install appium-python-client,这个命令会下载四个依赖,分别是appium与Python交互配
置的文件Appium_Python_Client-0.24-py3.5.egg-info、Python与appium通信的appium、真正参与测试
的selenium、selenium的说明配置文件selenium-3.4.1.dist-info
|
|