关闭

Selenium通过无页面浏览器执行用例

发表于:2021-7-21 09:26

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:测试安静    来源:51Testing软件测试网原创

  前言
  在跑UI自动化测试的时候,每次执行脚本都会弹出浏览器框,如果只是想看断言结果,不香看执行过程的话,我们可以直接通过无页面浏览器进行打开,不会占用电脑屏幕。那么如何通过selenium实现无页面浏览器操作呢?

  chrome浏览器无页面启动
  先介绍一种大家经常使用的chrome浏览器,selenium支持chrome配置信息。我们可以通过加上对应的配置信息来让浏览器通过无页面启动。
from selenium import webdriver
opt = webdriver.ChromeOptions()
opt.headless = True              # 把Chrome设置成可视化无界面模式
driver = webdriver.Chrome(options=opt)     # 创建Chrome无界面对象

  下面安静通过禅道登录的实例的形式给大家展示chrome浏览器无页面启动内容。
from selenium import webdriver
import time
opt = webdriver.ChromeOptions()
opt.headless = True              # 把Chrome设置成可视化无界面模式
driver = webdriver.Chrome(options=opt)     # 创建Chrome无界面对象
driver.get('http://127.0.0.1/pro/user-login.html')
driver.find_element_by_id('account').send_keys('test')
driver.find_element_by_name('password').send_keys('test123456')
driver.find_element_by_id('submit').click()
time.sleep(2)
# 获取账号的名称。
name = driver.find_element_by_xpath('//*[@class="dropdown-toggle"]').text
print('登录用户名:{}'.format(name))
# 断言登录的用户名
assert name == '测试'
# 获取浏览器标题
print('登录成功的浏览器标题是:{}'.format(driver.title))
# 获取浏览器的url
print('登录成功后的url地址:{}'.format(driver.current_url))

  通过执行代码,安静这里给大家附上了动图,可以看到已经成功的完成了登录并获取到了登录成功后的浏览器标题以及浏览器的url地址。

  phantomjs无页面启动
  phantomjs一个基于webkit的JavaScript API,可以用来访问浏览器访问的内容,俗称一个隐形的浏览器,这里它也可以帮助我们进行实现无页面浏览器执行自动化。


版权声明:本文出自《51测试天地》第六十二期。51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号