51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1702|回复: 1
打印 上一主题 下一主题

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

[复制链接]
  • TA的每日心情
    擦汗
    7 小时前
  • 签到天数: 1047 天

    连续签到: 5 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2020-7-13 13:34:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    一、打开微信调试功能
      注:该 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 这两个需要区分开 进行初始化。

    1. @BeforeMethod
    2.   public void setUp() throws Exception {
    3.   DesiredCapabilities desired_capabilities = new DesiredCapabilities();
    4.   ChromeOptions chrome_options = new ChromeOptions();
    5.   chrome_options.setExperimentalOption("androidProcess", "com.tencent.mm:tools");
    6.   desired_capabilities.setCapability(ChromeOptions.CAPABILITY, chrome_options);
    7.   desired_capabilities.setCapability(AndroidMobileCapabilityType.PLATFORM, "Android");
    8.   desired_capabilities.setCapability(AndroidMobileCapabilityType.VERSION, "9");
    9.   desired_capabilities.setCapability("deviceName", "4be70a6");
    10.   // desired_capabilities.setCapability(MobileCapabilityType.FORCE_MJSONWP, true);
    11.   desired_capabilities.setCapability(AndroidMobileCapabilityType.APP_PACKAGE,
    12.   "com.tencent.mm");
    13.   desired_capabilities.setCapability(AndroidMobileCapabilityType.APP_ACTIVITY,
    14.   "ui.LauncherUI");
    15.   desired_capabilities.setCapability("showChromedriverLog", true);
    16.   desired_capabilities.setCapability(AndroidMobileCapabilityType.AUTO_GRANT_PERMISSIONS, true);
    17.   desired_capabilities.setCapability("noReset", true);
    18.   desired_capabilities.setCapability(MobileCapabilityType.BROWSER_NAME,"");
    19.   desired_capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME,
    20.   "uiautomator2");
    21.   desired_capabilities.setCapability("recreateChromeDriverSessions", true);
    22.   try {
    23.   driver = new AndroidDriver<>(new
    24.   URL("http://0.0.0.0:4723/wd/hub"),desired_capabilities);
    25.   dt = new DtTestCase(driver);
    26.   dt.sleep(5000);
    27.   } catch (MalformedURLException e) {
    28.   e.printStackTrace();
    29.   }
    30.   }
    31.   @AfterMethod
    32.   public void tearDown(){
    33.   driver.quit();
    34.   }
    35.   @Feature("微信小程序")
    36.   @Description("微信小程序-京东超市搜索")
    37.   @Severity(SeverityLevel.BLOCKER)
    38.   @Test(priority = 1)
    39.   public void testcase001() throws InterruptedException {
    40.   dt.click(Elements.faxian_by,Elements.faxian);
    41.   dt.click("NAME","小程序");
    42.   dt.click("NAME","京东购物");
    43.   dt.click(Elements.jindongchaoshi_by,Elements.jindongchaoshi);
    44.   dt.sleep(3000);
    45.   dt.click(Elements.jingdongchaoshi_Search_by,Elements.jingdongchaoshi_Search);
    46.   dt.inputText(Elements.jingdongchaoshi_Search_by,Elements.jingdongchaoshi_Search,"剑南
    47.   春");
    48.   dt.click("NAME","搜索");
    49.   }
    复制代码
    四、启动 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

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏1
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-15 16:24 , Processed in 0.062992 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表