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

发表于:2020-7-09 11:01

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:海鹅    来源:测试窝

  一、打开微信调试功能
  注:该 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 就可以。

      本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号