多测师是一家拥有先进的教学理念,强大的师资团队,业内好评甚多的接口自动化测试培训机构!

17727591462

联系电话

您现在所在位置:接口自动化测试培训 > 新闻资讯

Selenium控制浏览器的常用方法-自动化测试

更新时间:2022-07-20 09:24:05 作者:多测师 浏览:26

  Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。

Selenium控制浏览器的常用方法-自动化测试

  这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。

  有时候我们希望能让浏览器以某种尺寸打开,让访问页面在这种尺寸下运行,或者控制浏览器进行后退与前进操作等等。

  今天主要介绍一下浏览器控制的一些常用属性和方法,他们大多集中在selenium.webdriver.remote.webdriver类中。不管是用哪种浏览器,他们都继承自remote.webdriver类,用的方法属性都是相同的。

  下面举个几个控制浏览器的例子。

  一、控制浏览器窗口大小

  有时候我们希望能以某种浏览器尺寸打开,让访问的页面在这种尺寸下运行。例如可以将浏览器设置成移动端大小(480* 800),然后访问移动站点,对其样式进行评估;WebDriver提供了set_window_size()方法来设置浏览器的大小。

  二、设置休眠时间

  由于打开百度网址后,页面加载需要几秒钟,所以最好等到页面加载完成后再继续下一步操作。

  三、控制浏览器前进后退

  在使用浏览器浏览网页时,浏览器提供了后退和前进按钮,可以方便地在浏览过的网页之间切换,WebDriver也提供了对应的back()和forward()方法来模拟后退和前进按钮。

  四、页面刷新

  有时候页面操作后,数据可能没及时同步,需要重新刷新。

  五、页面截图

  自动化用例是由程序去执行的,因此有些时候打印的错误信息并不十分明确。如果在脚本执行出错的时候能够对当前窗口截图保存,那么通过图片就可以非常直观的看出出错的原因。WebDriver提供了截图函数get_screenshot_as_file()来截取当前窗口:

  值得注意的是,当使用窗口截屏功能时,图片的扩展名必须是png!!

  六、关闭退出浏览器

  退出有两种方式,一种是close;另外一种是quit。

  close用于关闭当前窗口,当打开的窗口较多时,就可以用close关闭部分窗口;

  quit用于结束进程,关闭所有的窗口。

  总结:

  先列举几个常见的属性:

  current_url: 返回当前浏览器的url

  title: 返回当前页面title

  current_window_handler:返回当前窗口的句柄,这在多窗口切换的时候会用到

  window_handlers: 返回当前浏览器的所有窗口的句柄。

  以下是常见的控制浏览器的方法:

  get(url): 加载指定的网页

  back()/forward(): 对应于浏览器的向前向后按钮

  implicitly_wait(time): 隐式等待,在元素被找到前的等待时间,time的单位是秒。它的作用域是全局的,一个session只用设置一次,任意元素如果在指定时间内没有被找到则抛错。会用单独一篇来介绍元素等待的话题,在这里就不详细解释了

  close(): 关闭当前的窗口

  quit(): 关闭整个浏览器,所有的窗口都会关闭

  refresh(): 刷新网页

  get_screenshot_as_file(filename): 保存浏览器的截图到一个png文件, 这里要注意filename需要是一个完整的路径,例如/Users/jack/Downloads/screenshot.png.

  set_window_position(x,y,windowHandle='current'): x,y的单位是像素,设置浏览器的位置。get_window_position()则可以获得浏览器当前的位置

  set_window_size(width,height, windowHandle='current'): width, height的单位是像素,设置浏览器的长宽。get_window_size()可以获得浏览器的尺寸

  maximize_window(): 最大化窗口

  以上内容为大家介绍了自动化测试中的Selenium控制浏览器的常用方法,本文由多测师亲自撰写,希望对大家有所帮助。了解更多自动化测试相关知识:https://www.aichudan.com/xwzx/

联系电话

17727591462

返回顶部