一.selenium元素定位 Selenium对网页的控制是基于各种前端元素的,在使用过程中,对于元素的定位是基础,只有准去抓取到对应元素 才能进行后续的自动化控制,我在这里将对selenium8种元素基本定位方式进行总结归纳一下. Selenium提供了8种定位方式. id name class name tag name link text partial link text xpath css selector 这8种定位方式在Python selenium中所对应的方法为: find_e…
selenium基础实战之定位网页元素技巧 selenium定位网页元素 find_element_by_id,find_element_by_name,find_element_by_class_name 1).开启浏览器 browser = webdriver.Firefox(); 2).打开网页 browser.get("http://baidu.com") 使用python判断是否正确 browser.title 或者 browser.current_url 3).定位元素的8…
摘自https://www.cnblogs.com/sanzangTst/p/7457111.html 一.Selenium元素定位的重要性: Web自动化测试的操作:获取UI页面的元素,对元素进行操作,得到实际结果,断言(返回结果与期望结果是否一致),返回自动化测试报告. 本文主要是利用Firefox浏览器的辅助插件Firebug进行元素定位. 元素定位在自动化测试中至关重要,如果一个页面上的元素不能被定位到,那后面的所有操作都不能正常进行测试了,接下来就来讲Webdriver提供的八种基本元…
等待 一.等待是什么,为什么要等待 在做自动化测试,设计测试用例的时候,有时下一步的操作会依赖上一步的结果或者内容,上一步操作成功之后才能进行下一步操作等, 这时候,我们就需要使用等待,来判断上一步操作是否完成,什么时候可以进行下一步操作.否则,上一步操作如果花费的时间较长, 还没有完成,就去进行下一步操作,这时就会产生无法定位到元素,元素状态不正确,数据校验结果不正确等异常. 在Selenium中常用的等待分为显示等待WebDriverWait(),隐式等待implicitly_wait(),…
一.安装Python https://www.python.org/downloads/ 验证Python是否安装成功.打开Windows命令提示符(cmd),输入python,回车 注意:在安装的过程中需要勾选:“Add Python 3.x to PATH” , 如果没有勾选,需要在安装完成之后,将Python的安装目录(如:C:\Python36)添加到环境变量PATH下面. 二.安装selenium 1.Pycharm安装selenium 验证selenium是否安装成功 三.selen…
窗口截图 自动化用例是由程序去执行的,因此有时候打印的错误信息并不十分明确.如果在脚本执行出错的时候能对当前窗口截图保存,那么通过图片就可以非常直观地看出出错的原因.WebDriver提供了截图函数get_screenshot_as_file().save_screenshot().get_screenshot_as_png.get_screenshot_as_base64四种方法来截取当前窗口. get_screenshot_as_file() 该方式很简单,通过driver获取该方法,将截图…
断言Assertion 验证应用程序的状态是否同所期望的一致. 常见的断言包括:验证页面内容,如标题是否为X或当前位置是否正确,或是验证该复选框是否被勾选. selenium 提供了三种模式的断言:assert .verify.waitfor Assert 失败时,该测试将终止. Verify 失败时,该测试将继续执行,并将错误记入日显示屏 .也就是说允许此单个 验证通过.确保应用程序在正确的页面上 Waitfor 用于等待某些条件变为真.可用于 AJAX 应用程序的测试. 如果该条件为真,他们…
警告框处理 在WebDriver中处理JavaScript所生成的alert.confirm以及prompt十分简单,具体做法是使用 switch_to.alert 方法定位到 alert/confirm/prompt,然后使用text/accept/dismiss/ send_keys等方法进行操作. text:返回 alert/confirm/prompt 中的文字信息. accept():接受现有警告框. dismiss():解散现有警告框. send_keys(keysToSend):发…
说明: 不要误认为Robot framework 只是个web UI测试工具,更正确的理解Robot framework是个测试框架,之所以可以拿来做web UI层的自动化是国为我们加入了selenium2的API.比如笔者所处工作中,更多的是拿Robot framework来做数据库的接口测试,当然,需要先将相关的数据库包导入. 那么测试框架的本质是什么?个人觉得有以下几个方面. 1.比较 测试实质就是“比较”,在测试之前需要先写用例,假设经过各种操作之后会得到一个预期的结果,然后,在测试的过…
一.鼠标事件 在 WebDriver 中, 将这些关于鼠标操作的方法封装在 ActionChains 类提供. ActionChains 类提供了鼠标操作的常用方法. ActionChains 类的成员源码如下图所示: 下面我们通过一张表对上图中对外使用的成员进行分类(即带下划线的成员不放入下表): 分类 函数名 描述 鼠标操作 def click(self, on_element=None) 鼠标左键单击 鼠标操作 def click_and_hold(self, on_element=Non…