我一直在使用Appium来测试混合android应用程序,包括NATIVE和WEBVIEW上下文之间的频繁转换。这些Webview是使用React库开发的。
根据我的理解和纠正,如果我错了,React的工作方式
是它使用真实的DOM创建虚拟DOM并生成与javascript中的名称相对应的动态类名。该DIFF算法提供了有效的方法来区分使用这些自动生成的类名称的对象。
我面临的问题是,使用Appium我无法使用任何findElementsBy
方法从这些Web视图中访问元素。类名是UIAutomator唯一可见的参数,我们可以真正依靠它进行更改,这是由React在生成的每个新构建上进行的。
- 有没有办法让我可以使用React库本身将这些自动生成的类名称重构为一些明智的名称?
该铬检查提供了我的应用程序中的WebView的详细信息:
<div class="_32f8NoUfyUtNSxo3w4Ptbp" data-reactid=".0.1.$=13:0.0.0">…</div>
- 关于如何在这种情况下使用Appium访问实际DOM元素的任何想法?
信息:WebView.setWebContentsDebuggingEnabled(true)
在应用代码中设置。
还要感谢这里的任何潜在客户。
基于此链接:https :
//github.com/facebook/react-
native/issues/7135
解决此问题的方法:在视图上同时使用accessible和accessibleLabel
可访问性标签上的DOC:https :
//facebook.github.io/react-native/docs/accessibility.html#accessibilitylabel-
ios-android
在我的本机组件上:
<TextInput accessible={true} accessibilityLabel={'Tap Me'}></TextInput>
在我的脚本测试:
mobileElement = find_Element(accessibilty_id, "Tap Me")
mobileElement.send_keys "hello world"
问题内容: 我正在寻找一种在Java App(使用JDBC)中打开Access MDB文件的方法。 快速的Google搜索建议我为此需要JDBC-ODBC Bridge。 这是否意味着我需要配置要在其上运行应用程序的每个系统,以便为要打开的MDB提供ODBC DSN? 还有一个问题(因为我以前从未使用过ODBC):通信是通过某种套接字(以客户机/服务器方式)还是通过方法/函数调用(例如嵌入Derb
问题内容: 我正在使用Access,并尝试复制在MSDN上发现的某些语法。不幸的是,Access语法中的FROM语句似乎有问题。我不知道为什么。 问题答案: MS Access中枢转的语法与sql server不同。您必须使用该功能来旋转数据。 语法将类似于以下内容:
问题内容: 我正在尝试使用访存api来带回一些数据,但是一旦检索到它就无法将其映射到控制台。 我得到的错误是 response.map不是函数 所以我试图解析响应(即var data = JSON.parse),该响应不起作用,并显示错误 有趣的是,当对XMLHttp请求执行相同操作时,需要解析它,因此我也想知道为什么这两种检索数据方法之间的区别。 如果有人能指出正确的方向,我将不胜感激。 问题答
我正在尝试使用onelogin php toolkit for SAML访问不同域上的ADFS IDP。ADFS只显示一个包含以下内容的屏幕 错误详细信息 活动ID:00000000-0000-0000-f980-0080000400cd 错误时间:星期四,24 Aug2017 13:48:15GMT Cookie:启用 用户代理字符串:Mozilla/5.0(Windows NT 10.0; W
硒的新手,这是我的示例项目。 我无法访问div中的一个元素,我尝试过搜索答案,但只找到了java代码。由于我是硒新手,我正在使用表格的方式进行测试。 我找到了这个答案: 您可以使用cssSelector, driver.switchTo().frame(driver.findElement(通过.cssSelector(“iframe[title='Fill Quote'))); 但没有名为dri
我在干什么? 步骤1-启用邻近API: 为了使用接近API,它必须首先在谷歌开发控制台中启用。使用本教程,我为我的项目启用了对邻近API的支持 步骤2-获取凭据: 根据本教程,我需要得到客户端ID和秘密。这就是我困惑的地方。凭据->添加凭据->OAuth2.0客户端ID->选择Chrome App单选按钮(因为我使用的是Postman)->输入Postman的Chrome Web store UR
问题内容: 我有一个必须执行重复任务的Web应用程序,发送消息和警报,我已经使用脚本页面在浏览器中加载它们时执行了这些任务,即http://example.com/tasks.php,我已经在我的Web应用程序的每个页面中都使用iframe表示。 现在,我想将其更改为使用CRON作业,因为第一种方法可能会导致卡纸性能,因此,我如何制作访问http://example.com/tasks.php的C
问题内容: 是否可以使用Selenium / Chrome Webdriver访问Shadow DOM中的元素? 正如预期的那样,使用普通元素搜索方法不起作用。我已经在w3c上看到了对switchToSubTree规范的引用,但找不到任何实际的文档,示例等。 有人成功吗? 问题答案: 不幸的是,webdriver规范似乎还不支持此功能。 我的侦探被发现: http://www.w3.org/TR/