移动端自动化测试appium(3)--录制测试用例并运行
2023-09-14 09:11:14 时间
录制用例并执行
-
使用Appium desktop录制用例
-
安装Python依赖pip install Appium-Python-Client
-
增加隐式等待增强稳定性
-
重新运行
1、使用Appium desktop录制用例
autoGrantPermissions=true #不再跳出定位信息
选择右下方的Send Keys, 跳出输入框,输入搜索内容并点击Send Keys按钮。
之后可以看到录制的脚本内容以及可以选择语言类型,如下图所示:
1、代码片段
2、选择脚本语言
3、显示全部的脚本语言——Python
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
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之后才能正常运行脚本
1pip install Appium-Python-Client
安装Appium-Python-Client
退出Appium的录制界面;
然后切换到cmd界面,并执行Python脚本,如下图,出现异常信息,其实就是没有找到元素
异常信息
3、增加隐式等待增强稳定性
上述代码增加隐式等待之后重新运行即可
driver.implicitly_wait(10) #添加隐式等待10秒
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秒之后就可以正常运行了。
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走
这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助…….
相关文章
- 接口自动化测试实践指导(下):接口自动化测试断言设置思路
- 五分钟学会接口自动化测试框架
- 【Appium 自动化测试】搭建 Appium 环境踩坑记录
- 工具自动生成 自动化测试脚本
- 自动化测试:Robot FrameWork框架99%的人都想知道的实用干货技巧!
- Web自动化测试-Protractor基础(二)
- Flink kafka sink to RDBS 测试Demo
- ChatGPT 版 Bing 开启测试申请,谷歌 Chrome 用户被拒在门外
- 接口自动化测试|Requests库的安装与介绍
- 接口测试|Postman持久化保存
- 测试开发的一次实践总结
- Fuzzable:一款基于静态分析实现的可模糊测试的自动化目标识别工具
- MIT 6.828 操作系统工程 2018 fall xv6 工具链搭建与测试
- 软件测试|测试开发之路--UI 自动化常用设计模式
- Istio和Linkerd基准性能测试对比
- autotest自动化测试:Linux下使用Pylint实现(linuxpylint)
- Oracle性能测试:揭示最佳性能(oracle性能测试)
- Linux自动化测试脚本实践(linux测试脚本)
- 三星4nm加持 骁龙898测试性能曝光:提升20%
- 测试模式-XSL教程-5