Webview自动化测试,mapping.json 管理Chromedriver是怎么用的

mapping.json

Webview自动化测试,mapping.json 管理Chromedriver是怎么用的

appium提供了一个清单,里面列举了chromedriver的版本和chrome的版本对应关系。chromedriver会对chrome的版本有最低的要求。这个mapping文件就是制定了这个对应关系。

左侧是chromedriver的版本,右侧是支持的chrome的最低版本。这个文件除了官方维护了一个清单,也可以自己去编辑。如果在capability里自己指定了一份,那么appium就会根据指定文件判断应该使用哪个chromedriver的版本去自动化被测app内的webview组件版本

{
"99.0.4844.51": "99.0.4844.51",
"98.0.4758.102": "98.0.4758.102",
"98.0.4758.80": "98.0.4758.80",
"97.0.4692.71": "97.0.4692.71",
"96.0.4664.45": "96.0.4664.45",
"95.0.4638.69": "95.0.4638.69",
"95.0.4638.54": "95.0.4638.54",
"94.0.4606.61": "94.0.4606.61",
"93.0.4577.63": "93.0.4577.63",
"93.0.4577.15": "93.0.4577.15",
"92.0.4515.107": "92.0.4515.107",
"92.0.4515.43": "92.0.4515.43",
"91.0.4472.101": "91.0.4472.101",
"91.0.4472.19": "91.0.4472.19",
"90.0.4430.24": "90.0.4430.24",
"89.0.4389.23": "89.0.4389.23",
"88.0.4324.96": "88.0.4324.96",
"87.0.4280.88": "87.0.4280.88",
"87.0.4280.20": "87.0.4280.20",
"86.0.4240.22": "86.0.4240.22",
"85.0.4183.87": "85.0.4183.87",
"85.0.4183.83": "85.0.4183.83",
"84.0.4147.30": "84.0.4147.30",
"83.0.4103.39": "83.0.4103.39",
"81.0.4044.138": "81.0.4044.138",
"81.0.4044.69": "81.0.4044.69",
"81.0.4044.20": "81.0.4044.20",
"80.0.3987.106": "80.0.3987.106",
"80.0.3987.16": "80.0.3987.16",
"79.0.3945.36": "79.0.3945.36",
"79.0.3945.16": "79.0.3945.16",
"78.0.3904.105": "78.0.3904.105",
"78.0.3904.70": "78.0.3904.70",
"78.0.3904.11": "78.0.3904.11",
"77.0.3865.40": "77.0.3865.40",
"77.0.3865.10": "77.0.3865.10",
"76.0.3809.126": "76.0.3809.126",
"76.0.3809.68": "76.0.3809.68",
"76.0.3809.25": "76.0.3809.25",
"76.0.3809.12": "76.0.3809.12",
"75.0.3770.140": "75.0.3770.140",
"75.0.3770.90": "75.0.3770.90",
"75.0.3770.8": "75.0.3770.8",
"74.0.3729.6": "74.0.3729",
"73.0.3683.68": "70.0.3538",
"2.46": "71.0.3578",
"2.45": "70.0.0",
"2.44": "69.0.3497",
"2.43": "69.0.3497",
"2.42": "68.0.3440",
"2.41": "67.0.3396",
"2.40": "66.0.3359",
"2.39": "66.0.3359",
"2.38": "65.0.3325",
"2.37": "64.0.3282",
"2.36": "63.0.3239",
"2.35": "62.0.3202",
"2.34": "61.0.3163",
"2.33": "60.0.3112",
"2.32": "59.0.3071",
"2.31": "58.0.3029",
"2.30": "58.0.3029",
"2.29": "57.0.2987",
"2.28": "55.0.2883",
"2.27": "54.0.2840",
"2.26": "53.0.2785",
"2.25": "53.0.2785",
"2.24": "52.0.2743",
"2.23": "51.0.2704",
"2.22": "49.0.2623",
"2.21": "46.0.2490",
"2.20": "43.0.2357",
"2.19": "43.0.2357",
"2.18": "43.0.2357",
"2.17": "42.0.2311",
"2.16": "42.0.2311",
"2.15": "40.0.2214",
"2.14": "39.0.2171",
"2.13": "38.0.2125",
"2.12": "36.0.1985",
"2.11": "36.0.1985",
"2.10": "33.0.1751",
"2.9": "31.0.1650",
"2.8": "30.0.1573",
"2.7": "30.0.1573",
"2.6": "29.0.1545",
"2.5": "29.0.1545",
"2.4": "29.0.1545",
"2.3": "28.0.1500",
"2.2": "27.0.1453",
"2.1": "27.0.1453",
"2.0": "27.0.1453"
}
caps.setCapability("chromedriverExecutableDir","/Users/zhengxiangyu/projects/chromedriver/2.20");
caps.setCapability("chromedriverChromeMappingFile","/Users/zhengxiangyu/projects/Java3/src/test/java/test_app/wechat/mapping.json");
caps.setCapability("showChromedriverLog", true);

校长,web自动化测试,这三个Caps是不是都得配上
chromedriverExecutableDir,这个是存放所有chromedriver的路径
chromedriverChromeMappingFile,这个是各个版本的匹配映射关系

是这样么

看我讲课的时候代码例子吧。chromedriverExecutableDir可以测试webview,
chromedriverExecutableDir + chromedriverExecutable可以测试微信小程序

我其实想问,chromedriverExecutableDir,这个路径里,是需要我把所有版本的chromedriver都下载下来,保存到这个路径么??

是的 可以不是所有 有需要的多个就行了