查看ocx控件方法_Appium自动化测试入门教程No.8——定位控件

c674fcb35a2be1b357746a169af966b5.png

Appium 通过 uiautomatorviewer.bat 工具来查看控件的属性。该工具位于 Android SDK 的 /tools/bin/ 目录下。

常用的Appium定位控件有如下:

一、name 定位

打开uiautomatorviewer.bat工具:

使用方法:

driver.findElement(By.name("9"))

7be403b27f34d409327d1e7d1444330c.png

二、id 定位

通过uiautomatorviewer.bat 工具可以查看对象的id属性。

如果目标设备的API Level低于18则UIAutomatorViewer不能获得对应的Resource ID,只有等于大于18的时候才能使用。

打开uiautomatorviewer.bat工具:

resource-id 就是我们理解的id属性了。

使用方法:

driver.findElement(By.id("com.android.calculator2:id/formula"))

92595fa1bdec535badb5fdffc2942fd1.png

三、Class name 定位

计算器界面上的的class属性是:android.widget.Button。 使用方法:

WebElement button = driver.findElement(By.className("android.widget.Button"));

使用 Class Name 一般获得的 view 都不止一个,所以应该需要遍历一遍得到的 views,然后缩小搜索条件来获得目标控件。

23fca684fbd78e0ddb8e00be65e64428.png

四、XPath定位

在 WebDriver 上 XPath 定位是功能强大的一种定位方式。我个人惯用于此方法来定位Web页面上的元素。下面看看在 Android 上 XPath 定位的用法。

28d9b8b366073a9c2812c83dd8b0d5a0.png

五、Accessibility ID定位

这个方法属于Appium扩展的定位方法。

其实,我们的核心是要找到元素的contentDescription属性。它就是元素的 content-desc 。

使用方法: java driver.findElementByAccessibilityId("plus").click();

0613a60cbc732036dcb721e1296f8380.png

六、Android uiautomator定位

这个方法也属于 Appium(Android)扩展的定位方法。同样使用 UIAutomatorViewer.bat 工具直接查看。

也就是说一个元素的任意属性都可以通过android uiautomator方法来进行定位,但要保证这种定位方式的唯一性。

使用方法:

driver.findElementByAndroidUIAutomator("new UiSelector().text("clr")").click();

driver.findElementByAndroidUIAutomator("new UiSelector().text("8")").click();

driver.findElementByAndroidUIAutomator("new UiSelector().description("plus")").click();

driver.findElementByAndroidUIAutomator("new UiSelector().text("5")").click();

driver.findElementByAndroidUIAutomator("new UiSelector().description("equals")").click();

需要注意的是 description() 方法用的是content-desc属性。

9a97b1fba7309447dc7bac5cb72a4809.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 谷歌浏览器不支持OCX(Object Linking and Embedding Custom Controls)。OCX是一种用于Windows操作系统的动态链接库文件,通常用于在软件开发中添加自定义控件和功能。 谷歌浏览器是基于开源Chromium项目开发的,其核心思想是简单、快速、安全。为了提供更好的用户体验和安全性,谷歌浏览器在其设计中禁止了对OCX控件的调用。 相反,谷歌浏览器支持HTML5、CSS3和JavaScript等现代 web 技术。通过这些技术,开发者能够创建强大的交互式网页和应用程序,而不需要依赖OCX控件。 如果您需要在网页上使用OCX控件功能,建议您寻找其他浏览器,如Internet Explorer。IE浏览器对OCX控件有较好的支持,并允许通过JavaScript调用和使用OCX控件方法。 总之,由于谷歌浏览器的设计初衷和安全考虑,它不能直接调用OCX控件方法。但通过使用其他浏览器或采用现代web技术,开发者仍然能够实现类似的功能。 ### 回答2: 谷歌浏览器(Google Chrome)是基于Chromium开发的浏览器,它默认不支持调用OCX控件(Object Linking and Embedding Custom Controls)。OCX是一种微软制定的可重用软件组件,用于在Windows平台上创建交互性强的应用程序。 然而,可以通过一些技术手段在谷歌浏览器中实现对OCX控件的调用。以下是其中一种常见的方法: 1. 创建一个包含OCX控件的步骤类库(ActiveX Library)。 2. 在OCX控件中编写相应的方法,以实现各种功能。 3. 在网页中嵌入谷歌浏览器ActiveX插件(ActiveX Plugin),该插件可以允许浏览器加载本地的OCX控件。 4. 在网页中使用JavaScript调用插件,并通过插件的接口调用OCX控件中的方法。 需要注意的是,因为OCX控件是基于Windows平台的,所以上述方法只在Windows系统中的谷歌浏览器上有效。对于其他操作系统或浏览器,可能需要使用其他技术手段或工具来实现类似的功能。 在实际应用中,调用OCX控件需要谨慎考虑安全性问题,确保控件的来源可信,并避免潜在的安全风险。同时,谷歌浏览器也持续更新和改进,未来的版本可能会对OCX控件的调用提供更多的支持和便利。 ### 回答3: 谷歌浏览器(Google Chrome)是一款使用Webkit作为底层渲染引擎的浏览器,它不支持直接调用OCX(OLE Control Extension)控件方法OCX是一种Microsoft Windows操作系统中的控件类型,通常用于实现特定的功能或界面。 然而,可以通过其他方式间接地在谷歌浏览器中使用OCX控件方法。一种方法是使用ActiveX控件,这是一种Microsoft技术,允许在网页上嵌入和调用COM(Component Object Model)对象,包括OCX控件。然而,使用ActiveX控件需要在浏览器中启用ActiveX支持,并且限制了在非Windows操作系统上的使用。 另一种方法是使用谷歌浏览器的扩展(Chrome Extension)来实现对OCX控件方法的调用。Chrome扩展是一种以JavaScript编写的浏览器插件,可以通过扩展API与浏览器的功能进行交互。通过编写一个自定义的Chrome扩展,可以使用JavaScript调用OCX控件方法,前提是OCX控件已经在操作系统中正确注册和安装。 需要注意的是,使用OCX控件方法可能会存在一些安全风险,因为它们可以执行操作系统级的功能。在使用谷歌浏览器调用OCX控件方法时,必须确保控件来自可信的来源,并采取适当的安全措施来防止潜在的恶意行为。 总的来说,在谷歌浏览器中调用OCX控件方法需要借助ActiveX控件或自定义的Chrome扩展,并且需要注意安全性问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值