关于测试开发:软件测试人工智能熟练使用web控件定位技巧提升测试工作效率
简介在做 Web 自动化时,最基本的就是操作页面上的元素,首先要能找到这些元素,而后能力操作这些元素。工具或代码无奈像测试人员一样用肉眼来分辨页面上的元素。那么要如何定位到这些元素,本章会介绍各种定位元素的办法。 web 控件定位id 定位Python 实现 driver.find_element(By.ID,'query')Java 实现 driver.findElement(By.id("query"));name 定位 Python 实现 driver.find_element(By.NAME,'query')Java 实现 driver.findElement(By.name("query")); 通常来说 name 属性与 id 属性在页面中惟一,举荐应用这两个属性进行定位。 XPath 定位 XPath 是一个定位语言,英文全称为:XML Path Language,用来对 XML 上的元素进行定位,但也实用于 HTML,上面来看一个例子。 要定位的元素是 Sogou 首页的搜寻输入框。 首先寻找 id 为 sf 的 form 元素,而后再寻找它的子元素 span,span 的 class 属性为 sec-input-box,最初找 span 的子元素 input,以下代码演示。 Python 实现 driver.find_element(By.XPATH,"//form[@id='sf']/span[@class='sec-input-box']/input")Java 实现 driver.findElement(By.xpath("//form[@id='sf']/span[@class='sec-input-box']/input"));上面的定位也能够找到这个 input,请留神,这里应用了双斜杠//,它能够找到子孙节点,而但斜杠/只能找到子节点,以下代码演示。 Python 实现 driver.find_element(By.XPATH,"//form[@id='sf']//input[@id='query']")Java 实现 driver.findElement(By.xpath("//form[@id='sf']//input[@id='query']"));XPath 表达式更多内容可参考上面表格。 表达式形容nodename选取此节点的所有子节点。/从根节点选取。//从匹配抉择的以后节点抉择文档中的节点,而不思考它们的地位。.选取以后节点。..选取以后节点的父节点。@选取属性。如何测验 XPath 定位是否正确?能够应用 chrome 的查看模式 -> Console,输出$x('XPath 表达式')即可。 ...