关闭

webdriver定位元素

时间: 2019-01-10阅读: 1147标签: 测试

在UI层面的自动化测试开发中,元素的定位与操作是基础。webdriver提供了很多种定位方法,以下总结了6种:

1、万能法:find_element_by_xpath("")

driver.find_element_by_xpath("/html/body/div[1]/div/div[2]/div[1]/ul/li[1]/ul/li[4]").click() #点击右侧菜单栏


2、id定位:find_element_by_id("id"),id属性是唯一的

driver.find_element_by_id("loginName").clear()#用户名输入框的id属性
driver.find_element_by_id("loginName").send_keys("admin")
driver.find_element_by_id("pwdTip")..clear()#密码输入框的id属性
driver.find_element_by_id("pwdTip").send_keys("111111")


3、class定位,可使用类名,也可使用css选择器,类名不唯一

#唯一的类
driver.find_element_by_class_name("ivu-btn")#登录按钮,使用类名
driver.find_element_by_css_selector(".ivu-btn")#登录按钮使用CSS选择器

#不是唯一的类
driver.find_elements_by_class_name("ivu-input-default")[0].clear()
driver.find_elements_by_class_name("ivu-input-default")[0].send_keys("wzj")#用户名,使用类名(注意类名不能追加,只能有一个)
driver.find_elements_by_css_selector(".ivu-input.ivu-input-default")[1].clear()
driver.find_elements_by_css_selector(".ivu-input.ivu-input-default")[1].send_keys("pubmi111")#密码框,使用CSS选择器(注意追加类时不能有空格,用.追加)

4、tag_name定位,使用元素的名称,find_element_by_tag_name("标签");tag_name可以不唯一,识别性比较低,一个页面会员大量的重复元素

#唯一
driver.find_element_by_tag_name("input").click()

#不唯一
driver.find_elements_by_tag_name("input")[0].click()#选择学段:初中
driver.find_elements_by_tag_name("input")[1].click()#选择学科:语文


5、标签属性name定位,find_element_by_name("标签");name为自定义标签属性值,识别性较高

driver.find_elements_by_name("PeriodName")[1].click()#选择学段:初中
driver.find_elements_by_name("SubjectName")[0].click()#选择学科:语文


6、link定位:专门用来定位文本链接,find_element_by_link_name("text");

driver.find_element_by_link_text(u"退出").click()#页面右上方的一些个人操作,比如退出、个人中心、消息通知等

 partial link定位:是对link定位的一种补充,当链接上的文本内容比较长的时候,可以取文本的一部分进行定位,当然这部分可以唯一地标识这个链接


来自:https://www.cnblogs.com/hpzyang/p/10249127.html


站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

2.广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入

链接: http://www.fly63.com/article/detial/1816

关闭

模拟 API 调用和模拟 React 组件交互

今天,我们进一步测试 React 组件。它涉及模拟组件交互和模拟 API 调用。你将学到两种方法,开始吧!对于我们的程序来说,从 API 获取一些数据是很常见的。但是它可能由于各种原因而失败,例如 API 被关闭

九大高效的前端测试工具与框架

在每个Web应用程序中,作为用户直接可见的应用程序外观,“前端”包括:图形化的用户界面、相应的功能、及其整体站点的可用性。我们可以毫不夸张地说:如果前端无法正常工作,您将无法“拉新”网站的潜在用户

js断言测试

断言一词来自逻辑学,在逻辑学中,断言是断定一个特定前提为真的陈述,在软件测试中也是类似的含义。测试中断言语句的一般形式为assert 表达式,其中的表达式就是逻辑学中的陈述

测试工具比较:选Jest,不选Mocha

Jest的未来看起来非常令人激动!看到Jest推陈出新如此快速,我感觉它将很快成为整个React生态系统中大部分项目的首选工具。我建议,应该把测试迁移到Jest上去。

10 款最佳移动 App 安全测试工具

移动互联网时代,我们的生活和工作深受 App 影响。伴随移动 App 的广泛应用,App 安全日益重要。本文介绍了 App 开发所需的安全测试工具。TOP 10 移动 App 安全测试工具列表

软件测试职业大洗牌

曾经,入行是一件很简单的事。会点点点,是个正常人,愿意做,就行。反正也对你没太大期望,整个软件开发完了,给测试点一遍,没问题,就可以上线了。所以,给很多同学留下的印象就是

10个可靠的Js测试工具

测试JavaScript代码的需求直截了当。如何防止错误,并确保应用程序在浏览器中或Node.js上顺利运行?幸好,开发人员在JavaScript测试方面有很多选择。JavaScript生态系统拥有用于单元测试

js单元测试工具-jest自动化测试

jest 是 facebook 开源的,用来进行单元测试的框架,可以测试 javascipt 和 react。jest 提供了非常方便的 API,可以对下面的场景方便的测试:一般函数、异步函数、测试的生命周期、react 测试

Js测试框架

Jest是Facebook团队构建和维护的JavaScript测试框架,基于Jasmine的JavaScript单元测试框架。Jest在2018年接受度非常高,今年在JavaScript社区更是如此,根据Github的数据,目前超过150万个项目在使用Jest

12个强大的Web服务测试工具

在过去的几年中,web服务或API的普及和使用有所增加。 web服务或API是程序或软件组件的集合,可以帮助应用程序进行交互或通过形成其他应用程序或服务器之间的连接执行一些进程/事务处理

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!