插件
上传插件
系统管理 / 插件管理
,以yqhp-appium
插件为例
- 下载 yqhp-appium(见插件列表)
- 新建插件 -> 名称: yqhp-appium -> 保存
- 上传下载好的插件文件
启用插件
系统管理 / 项目管理
启用插件
插件列表
渠道 | 插件 | 说明 | 下载地址 | 说明 |
---|---|---|---|---|
yqhp | yqhp-appium | 包装 AppiumDriver/RemoteWebDriver,提供更简易的 api | appium-plugin-0.0.8.jar | 查看 |
yqhp | yqhp-easyimg | 图片识别 api | easyimg-plugin-0.0.5.jar common-opencv-0.0.2.jar | 查看 |
yqhp-appium
初始化-移动端
方式 1
javaimport com.yqhp.plugin.appium.*; var d = new AppiumDriverWrapper(device.appiumDriver());
方式 2(推荐)
扩展 AppiumDriverWrapper,根据团队需要,提供更多 API
javaimport com.yqhp.plugin.appium.*; class CustomAppiumDriver extends AppiumDriverWrapper { CustomAppiumDriver() { super(device.appiumDriver()); } void pressAndroidKey(AndroidKey key) { androidDriver().pressKey(new KeyEvent(key)); } void pressHome() { if (isAndroid()) { pressAndroidKey(AndroidKey.HOME); } else { driver.executeScript("mobile: pressButton", Map.of("name", "home")); } } void pressBack() { pressAndroidKey(AndroidKey.BACK); } /** * 启动app * * @param appId android: package name | ios: bundle id */ void startApp(String appId) { ((InteractsWithApps) driver).activateApp(appId); } /** * 停止app * * @param appId android: package name | ios: bundle id */ boolean stopApp(String appId) { return ((InteractsWithApps) driver).terminateApp(appId); } /** * 安装app * * @param appUri app url or filePath */ void installApp(String appUri, String... extraArgs) { device.installApp(appUri, extraArgs); } /** * app是否已安装 * * @param appId android: package name | ios: bundle id */ boolean isAppInstalled(String appId) { return ((InteractsWithApps) driver).isAppInstalled(appId); } /** * 卸载app * * @param appId android: package name | ios: bundle id */ boolean uninstallApp(String appId) { return ((InteractsWithApps) driver).removeApp(appId); } /** * 清除apk数据, 相当于重新安装了app * * @param pkg package name */ void clearApkData(String pkg) { device.androidShell("pm clear " + pkg); } } var d = new CustomAppiumDriver(); // android var driver = d.androidDriver(); // ios // var driver = d.iOSDriver();
初始化-web 端
方式 1
javaimport com.yqhp.plugin.appium.*; ChromeDriver driver; RemoteWebDriverWrapper d; void init() { driver = browser.refreshChromeDriver(); d = new RemoteWebDriverWrapper(driver); }
方式 2(推荐)
扩展 RemoteWebDriverWrapper,根据团队需要,提供更多 API
javaimport com.yqhp.plugin.appium.*; class CustomWebDriver extends RemoteWebDriverWrapper { CustomWebDriver(RemoteWebDriver driver) { super(driver); } } ChromeDriver driver; RemoteWebDriverWrapper d; void init() { driver = browser.refreshChromeDriver(); d = new CustomWebDriver(driver); }
API
yqhp-easyimg
初始化
java
import com.yqhp.plugin.easyimg.*;
EasyImg img = new EasyImg(device.appiumDriver());
img.setImgDir("download"); // 远程图片存放路径