前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Appium移动端自动化测试--录制测试用例并运行

Appium移动端自动化测试--录制测试用例并运行

作者头像
软测小生
发布2019-12-12 16:49:33
9770
发布2019-12-12 16:49:33
举报
文章被收录于专栏:软测小生软测小生

录制用例并执行

  • 使用Appium desktop录制用例
  • 安装Python依赖pip install Appium-Python-Client
  • 增加隐式等待增强稳定性
  • 重新运行

1、使用Appium desktop录制用例

autoGrantPermissions=true #不再跳出定位信息

在这里插入图片描述

选择右下方的Send Keys, 跳出输入框,输入搜索内容并点击Send Keys按钮。

在这里插入图片描述

之后可以看到录制的脚本内容以及可以选择语言类型,如下图所示: 1、代码片段 2、选择脚本语言 3、显示全部的脚本语言——Python

代码语言:javascript
复制
 1# This sample code uses the Appium python client
 2# pip install Appium-Python-Client
 3# Then you can paste this into a file and simply run with Python
 4from appium import webdriver
 5caps = {}
 6caps["platformName"] = "android"
 7caps["deviceName"] = "pzhang7"
 8caps["automationName"] = "uiautomator2"
 9caps["appPackage"] = "com.xueqiu.android"
10caps["appActivity"] = ".view.WelcomeActivityAlias"
11caps["autoGrantPermissions"] = "true"
12
13driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", caps)
14
15el1 = driver.find_element_by_id("com.xueqiu.android:id/home_search")
16el1.click()
17el2 = driver.find_element_by_id("com.xueqiu.android:id/search_input_text")
18el2.send_keys("alibaba")
19driver.quit()

4、复制脚本 5、删除脚本

录制步骤

(3)、显示全部的脚本语言——Java

代码语言:javascript
复制
 1import io.appium.java_client.MobileElement;
 2import io.appium.java_client.android.AndroidDriver;
 3import junit.framework.TestCase;
 4import org.junit.After;
 5import org.junit.Before;
 6import org.junit.Test;
 7import java.net.MalformedURLException;
 8import java.net.URL;
 9import org.openqa.selenium.remote.DesiredCapabilities;
10
11public class SampleTest {
12
13  private AndroidDriver driver;
14
15  @Before
16  public void setUp() throws MalformedURLException {
17    DesiredCapabilities desiredCapabilities = new DesiredCapabilities();
18    desiredCapabilities.setCapability("platformName", "android");
19    desiredCapabilities.setCapability("deviceName", "pzhang7");
20    desiredCapabilities.setCapability("automationName", "uiautomator2");
21    desiredCapabilities.setCapability("appPackage", "com.xueqiu.android");
22    desiredCapabilities.setCapability("appActivity", ".view.WelcomeActivityAlias");
23    desiredCapabilities.setCapability("autoGrantPermissions", "true");
24
25    URL remoteUrl = new URL("http://127.0.0.1:4723/wd/hub");
26
27    driver = new AndroidDriver(remoteUrl, desiredCapabilities);
28  }
29
30  @Test
31  public void sampleTest() {
32    MobileElement el1 = (MobileElement) driver.findElementById("com.xueqiu.android:id/home_search");
33    el1.click();
34    MobileElement el2 = (MobileElement) driver.findElementById("com.xueqiu.android:id/search_input_text");
35    el2.sendKeys("alibaba");
36  }
37
38  @After
39  public void tearDown() {
40    driver.quit();
41  }
42}

2、安装Pythony依赖Appium-Python-Client

将上述的Python脚本保存到本地任意路径下,在Python脚本最上面3行可看到描述说要安装Appium-Python-Client之后才能正常运行脚本

代码语言:javascript
复制
1pip install Appium-Python-Client

安装Appium-Python-Client

退出Appium的录制界面; 然后切换到cmd界面,并执行Python脚本,如下图,出现异常信息,其实就是没有找到元素

异常信息

3、增加隐式等待增强稳定性

上述代码增加隐式等待之后重新运行即可 driver.implicitly_wait(10) #添加隐式等待10秒

代码语言:javascript
复制
 1# This sample code uses the Appium python client
 2# pip install Appium-Python-Client
 3# Then you can paste this into a file and simply run with Python
 4
 5from appium import webdriver
 6
 7caps = {}
 8caps["platformName"] = "android"
 9caps["deviceName"] = "pzhang7"
10caps["automationName"] = "uiautomator2"
11caps["appPackage"] = "com.xueqiu.android"
12caps["appActivity"] = ".view.WelcomeActivityAlias"
13caps["autoGrantPermissions"] = "true"
14
15driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", caps)
16
17driver.implicitly_wait(10) #添加隐式等待10秒
18
19el1 = driver.find_element_by_id("com.xueqiu.android:id/home_search")
20el1.click()
21el2 = driver.find_element_by_id("com.xueqiu.android:id/search_input_text")
22el2.send_keys("alibaba")
23
24driver.quit()

4、重新运行

重新运行上面的测试用例,在等待10秒之后就可以正常运行了。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-12-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软测小生 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 录制用例并执行
  • 1、使用Appium desktop录制用例
  • 2、安装Pythony依赖Appium-Python-Client
  • 3、增加隐式等待增强稳定性
  • 4、重新运行
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档