您的位置:首页 > 移动开发 > 微信开发

【龙测教程】直白明了教你怎么做小程序自动化测试

2020-07-09 10:00 676 查看

精选30+云产品,助力企业轻松上云!>>>

一、打开微信调试功能

注:该 debug 功能在某些手机(锤子/华为)没法打开,小米没问题。

通过微信打开 debugx5.qq.com,或者直接扫下面二维码

勾选【打开 TBS 内核 Inspector 调试功能】

Chrome 查看内核版本和替换 Appium 内部版本 

手机连接电脑,查看是否连接成功。如下展示设备号则为连接成功

进入任意小程序,以【京东】为例,在 Chrome 浏览器访问

chrome://inspect/#devices

在下面超链接中下载 chromedriver66 的版本,在本机 Appium 的安装路径下将66 的版本 chromedriver 进行替换。

 

例:windows 上 Appium 下 chromedriver 的存放路径:

\Appium\resources\app\node_modules\appium\node_modules\appium-chro

medriver\chromedriver\win

https://npm.taobao.org/mirrors/chromedriver/2.40/

二、定位方式 

尽量使用 xpath,而不是 id(有时候定位不上)

 

三、初始化代码 

 

代码实现层面:初始化代码与APP 类不同处:AndroidMobileCapabilityType、chrome_options 这两个需要区分开 进行初始化。

 

@BeforeMethod

public void setUp() throws Exception {

DesiredCapabilities desired_capabilities = new DesiredCapabilities();

ChromeOptions chrome_options = new ChromeOptions();

chrome_options.setExperimentalOption("androidProcess", "com.tencent.mm:tools");

 

desired_capabilities.setCapability(ChromeOptions.CAPABILITY, chrome_options);

desired_capabilities.setCapability(AndroidMobileCapabilityType.PLATFORM, "Android");

 

desired_capabilities.setCapability(AndroidMobileCapabilityType.VERSION, "9");

 

desired_capabilities.setCapability("deviceName", "4be70a6");

 

// desired_capabilities.setCapability(MobileCapabilityType.FORCE_MJSONWP, true);

 

desired_capabilities.setCapability(AndroidMobileCapabilityType.APP_PACKAGE,

"com.tencent.mm");

 

desired_capabilities.setCapability(AndroidMobileCapabilityType.APP_ACTIVITY,

"ui.LauncherUI");

 

desired_capabilities.setCapability("showChromedriverLog", true);

 

 

 desired_capabilities.setCapability(AndroidMobileCapabilityType.AUTO_GRANT_PERMISSIONS, true);

 

desired_capabilities.setCapability("noReset", true);

 

desired_capabilities.setCapability(MobileCapabilityType.BROWSER_NAME,"");

 

desired_capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME,

"uiautomator2");

 

desired_capabilities.setCapability("recreateChromeDriverSessions", true);

 

try {

driver = new AndroidDriver<>(new

URL("http://0.0.0.0:4723/wd/hub"),desired_capabilities);

dt = new DtTestCase(driver);

dt.sleep(5000);

} catch (MalformedURLException e) {

e.printStackTrace();

}

 

}

 

@AfterMethod

public void tearDown(){

driver.quit();

}

 

 

 

@Feature("微信小程序")

@Description("微信小程序-京东超市搜索")

@Severity(SeverityLevel.BLOCKER)

@Test(priority = 1)

public void testcase001() throws InterruptedException {

dt.click(Elements.faxian_by,Elements.faxian);

dt.click("NAME","小程序");

dt.click("NAME","京东购物");

dt.click(Elements.jindongchaoshi_by,Elements.jindongchaoshi);

dt.sleep(3000);

dt.click(Elements.jingdongchaoshi_Search_by,Elements.jingdongchaoshi_Search);

dt.inputText(Elements.jingdongchaoshi_Search_by,Elements.jingdongchaoshi_Search,"剑南

春");

dt.click("NAME","搜索");

}

四、启动 Appium

  1. 右键点击桌面 Appium 选择用管理员权限启动 (这个解决了createsession 报错的问题,这个关联到 uiautomator2)
  2. sdkmanager –update 更新 sdk 也是一个选项)
  3. 点击高级,如下选择 Allow Session Override

4.在 命 令 行 进 入 项 目 目 录 ( 比 如 C:\Users\fanchuan\Downloads\testproject (16)\android_template),运行 run.bat 就可以。

更多自动化测试教程请查看:http://www.dragontesting.cn

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐