当前位置: 首页 > wzjs >正文

如何用电脑做网站服务器创意设计网站推荐

如何用电脑做网站服务器,创意设计网站推荐,台州大型网站建设,建设工程抗震应当坚持的原则有引言 在移动应用自动化测试中,​​混合应用(Hybrid App)​​ 和多窗口场景(如分屏、弹窗、多 WebView)的处理一直是技术难点。Appium 的 enableMultiWindows 参数为这类场景提供了关键支持,但在实际使用中常…

引言

在移动应用自动化测试中,​​混合应用(Hybrid App)​​ 和多窗口场景(如分屏、弹窗、多
WebView)的处理一直是技术难点。Appium 的 enableMultiWindows
参数为这类场景提供了关键支持,但在实际使用中常因配置不当引发问题。

遇到的问题

起初在测试一个期货交易类APP时,订单发送后会有成交回报,在app的上方显示。这个提示弹出框无法被appium获取,获取page souce XML结构时无法找到这个元素。其实这就是因为在Appium初始化driver时,没有把这个参数设置成True,导致,这部分的元素XML结构不可见,所以无法定位,进行成交回报验证和下一步操作。

解决方案

  1. 可以在Appium初始化时设置 把参数"enableMultiWindows": True 设置成True
caps = {"platformName": "Android","deviceName": "emulator-5554","app": "/path/to/app.apk","automationName": "UiAutomator2",  # 必须使用 UiAutomator2"enableMultiWindows": True         # 启用多窗口支持
}
  1. 但是我们使用的时测试平台,没有底层的初始话driver的操作,就不能在初始的时候去操作这个参数,所以就研究怎么在运行时去修改Appium的参数。其实Appium的代码对外暴露的有修改设置的接口driver.setSetting(Setting.WAIT_FOR_IDLE_TIMEOUT,60);,但是这个Setting的类型时一个Enum类型,在它的源码中能看到有以下几种
    IGNORE_UNIMPORTANT_VIEWS("ignoreUnimportantViews"),WAIT_FOR_IDLE_TIMEOUT("waitForIdleTimeout"),WAIT_FOR_SELECTOR_TIMEOUT("waitForSelectorTimeout"),WAIT_SCROLL_ACKNOWLEDGMENT_TIMEOUT("scrollAcknowledgmentTimeout"),WAIT_ACTION_ACKNOWLEDGMENT_TIMEOUT("actionAcknowledgmentTimeout"),KEY_INJECTION_DELAY("keyInjectionDelay"),NATIVE_WEB_TAP("nativeWebTap"),IMAGE_MATCH_THRESHOLD("imageMatchThreshold"),FIX_IMAGE_FIND_SCREENSHOT_DIMENSIONS("fixImageFindScreenshotDims"),FIX_IMAGE_TEMPLATE_SIZE("fixImageTemplateSize"),CHECK_IMAGE_ELEMENT_STALENESS("checkForImageElementStaleness"),UPDATE_IMAGE_ELEMENT_POSITION("autoUpdateImageElementPosition"),NORMALIZE_TAG_NAMES("normalizeTagNames"),IMAGE_ELEMENT_TAP_STRATEGY("imageElementTapStrategy");

其实是没有我们想要的enableMultiWindows这个参数。所以我们接着看setSetting 的底层方法

public interface HasSettings extends ExecutesMethod {default void setSetting(Setting setting, Object value) {CommandExecutionHelper.execute(this, MobileCommand.setSettingsCommand(setting, value));}default Map<String, Object> getSettings() {Map.Entry<String, Map<String, ?>> keyValuePair = MobileCommand.getSettingsCommand();Response response = this.execute((String)keyValuePair.getKey(), (Map)keyValuePair.getValue());return ImmutableMap.builder().putAll((Map)Map.class.cast(response.getValue())).build();}
}

传进来的setting是在这里使用的MobileCommand.setSettingsCommand(setting, value)
所接着看源码,看看能否自己构造一个,看下setSettingsCommand

    public static Map.Entry<String, Map<String, ?>> setSettingsCommand(Setting setting, Object value) {return new AbstractMap.SimpleEntry(SET_SETTINGS, prepareArguments((String)"settings", (Object)prepareArguments(setting.toString(), value)));}

可以看到(Object)prepareArguments(setting.toString(), value)其实就是把enum的setting给转成了string,所以我们完全可以自己传进去一个enableMultiWindows,并且把value也设置成true, 这样手动生成一个AbstractMap.SimpleEntry就行了。
所以修改完成的代码就是

CommandExecutionHelper.execute(driver,new AbstractMap.SimpleEntry<>("setSettings", prepareArguments((String)"settings", (Object)prepareArguments("enableMultiWindows", true))));

在测试代码中执行这一行,就能解决没有得到弹窗XML元素的问题。


文章转载自:

http://KU3JJPGt.fpLwz.cn
http://q7uErv36.fpLwz.cn
http://qBLyZPPD.fpLwz.cn
http://b5D0oPTZ.fpLwz.cn
http://LtaHEitb.fpLwz.cn
http://1DRmDQ8b.fpLwz.cn
http://ETOU5yG3.fpLwz.cn
http://Fyf8GiA4.fpLwz.cn
http://poYEPhDD.fpLwz.cn
http://vaWmXC3f.fpLwz.cn
http://lTS5d6rh.fpLwz.cn
http://Ghft4Xbm.fpLwz.cn
http://phzys5Yz.fpLwz.cn
http://gy01S88O.fpLwz.cn
http://x3Ejs7BL.fpLwz.cn
http://dAaJQwzq.fpLwz.cn
http://QOHGGyBi.fpLwz.cn
http://DlGKUYXB.fpLwz.cn
http://BByRZfdp.fpLwz.cn
http://1m9Iqeo2.fpLwz.cn
http://OXk6Fc5h.fpLwz.cn
http://qWPX9Roh.fpLwz.cn
http://TiWplujZ.fpLwz.cn
http://GKBboLz6.fpLwz.cn
http://kHJdaSQ6.fpLwz.cn
http://GXNTsZZI.fpLwz.cn
http://YloLCWny.fpLwz.cn
http://zYCoXupL.fpLwz.cn
http://ciHpvDJu.fpLwz.cn
http://vntwXtto.fpLwz.cn
http://www.dtcms.com/wzjs/762470.html

相关文章:

  • 滕州网站建设推广帝国cms这么做网站
  • 沧州英文模板建站鲁班设计工作平台
  • 网站推广公司 wordpress网络电话免费版
  • 深圳网站建设 龙华信科黑蜘蛛网站
  • 浏览wap网站制作免费个人网页
  • 网站如何做线上和线下推广南昌做seo的公司有哪些
  • 自适应网站系统吗巩义网站优化公司
  • 东莞市官网网站建设哪家好网站网业设计
  • 如何做网站链接分享朋友圈赣州seo优化
  • 商城类网站建设数据库mp3链接地址制作网站
  • 房产网站模板程序wordpress head文件夹
  • 没有备案的网站使用微信泊头网站优化
  • 上海网站开发工程师金华免费模板建站
  • 学校网站建设计划书wordpress 代码解读
  • wordpress 手机 登陆百度seo2022
  • 建设部政务网站网站模板库 下载
  • 手机上能不能制作网站开发网站建设的定位
  • 装修设计网站免费wordpress自定义下载
  • 建站网站排行赣州seo公司
  • 如何注册网站免费的吗网站设计步骤及注意事项
  • 网站运营服务商房屋装修设计图片欣赏
  • 怎么选择移动网站建设个人做网站开工作室
  • 南宁住房和城乡建设部网站用哪个程序做网站收录好6
  • h5个人网站代码织梦网站访问量统计代码
  • 开发高端网站开发宁波易企网做的网站
  • 医院门户网站设计dream8网站建设教程视频
  • 甘肃网站建设制作商建立一个网站的步骤
  • 企业网站都需要备案吗开化网站建设公司
  • 购买网域名的网站好免费代刷网站推广
  • 广州申请公司注册网站渭南网站建设公司定制网站建设公司