一、打开微信调试功能
注:该 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
二、定位方式
尽量使用 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
- 右键点击桌面 Appium 选择用管理员权限启动 (这个解决了createsession 报错的问题,这个关联到 uiautomator2)
- sdkmanager –update 更新 sdk 也是一个选项)
- 点击高级,如下选择 Allow Session Override
  
 
4.在 命 令 行 进 入 项 目 目 录 ( 比 如 C:\Users\fanchuan\Downloads\testproject (16)\android_template),运行 run.bat 就可以。
 
 
 
                            