调用浏览器,来进行自动化测试,是一个常规操作,或者说针对少量测试用例,可以打开浏览器运行
但是针对大量运行测试用例来说,如果每个测试用例都需要调用一次 浏览器,那么无疑对服务器增加了巨大的压力
那么有没有一个办法,不调用浏览器,让浏览器在后台偷偷工作呢 ?
这个可以有: 用chrome-headless
Chrome-headless 模式, Google 针对 Chrome 浏览器 59版 新增加的一种模式,可以让你不打开UI界面的情况下使用 Chrome 浏览器,所以运行效果与 Chrome 保持完美一致。
option = webdriver.ChormeOptions()
option.add_argument('headless')
那么,怎么来实现的呢, 让我们来看一下代码:
from selenium import webdriver
import os,time
#加载启动项
option = webdriver.ChromeOptions()
option.add_argument('headless')
#定义截图地址&图片格式
screen_path = os.path.dirname(os.getcwd()) +'/report/Screenshots/'
rq = time.strftime('%Y%m%d%H%M', time.localtime(time.time()))
screen_name = screen_path + rq + '.png'
#打开chrome浏览器
#driver = webdriver.Chrome(chrome_options=option)
#版本更新,需要options 代替chrome_option
driver = webdriver.Chrome(options = option)
#定义url 地址
url = 'http://www.baidu.com'
driver.get(url=url)
time.sleep(2)
driver.save_screenshot(screen_name)
time.sleep(3)
#退出并关闭浏览器
driver.quit()
调用浏览器,来进行自动化测试,是一个常规操作,或者说针对少量测试用例,可以打开浏览器运行但是针对大量运行测试用例来说,如果每个测试用例都需要调用一次 浏览器,那么无疑对服务器增加了巨大的压力那么有没有一个办法,不调用浏览器,让浏览器在后台偷偷工作呢?这个可以有: 用chrome-headless Chrome-headless 模式, Google 针对 Chrome 浏览器...
1、使用HTMLTestRunner生成测试报告;
2、添加测试套件,运行一个文件执行所有测试用例;
3、只在测试执行前打开浏览器,所有用例执行结束后关闭浏览器。(解决反复启动/关闭driver导致的执行效率问题)
这个源码仅仅是基础的一个解决方案,实际应用中应根据项目情况丰富一下内容。
#使用以下方法在运行的时候可以不打开浏览器,运行速度杠杠的
from selenium import webdriver
option = webdriver.ChromeOptions()
option.add_argument("headless")
driver = webdriver.Chrome(chrome_options=option)
# driver = webdriver.Ch...
Python+Selenium 不打开谷歌浏览器运行脚本
元素无法找到时,可能的一个原因是浏览器分辨率问题
chromeOptions是一个配置 chrome 启动是属性的类,可配置chrome参数:
add_argument:启动参数
add_extension:扩展应用
add_encoded_extension:扩展应用
add_experimental_option:实验性质的设置参数
# 导入ChromeOptions类
from selenium.webdriver import Chrom
如果要在登录后继续在Web页面上进行操作,可以使用Selenium的Cookie功能。 在登录后,可以使用Selenium获取当前浏览器的Cookie,并将其保存到本地。 之后,您可以在不打开浏览器的情况下,使用Selenium直接访问该Cookie并将其添加到Selenium WebDriver中。 这样,就可以在不打开浏览器的情况下继续在Web页面上进行操作了。
具体来说,您可以使用以下步骤来...
1.配置selenium环境,地址:
https://blog.csdn.net/liaoqingjian/article/details/116785445?spm=1001.2014.3001.5502
2.下载selenium库:pip install selenium
3.代码示例:
from selenium import webdriver
option = webdriver.ChromeOptions()
option.add_argument("headless")
driver = we
from selenium.webdriver.firefox.options import Options
fw=open("E:/pythonTest/zcl.html","w",encoding="utf-8")
# 设置options参数,以开发者模式运行
option = ChromeOptions()
option.add_experimental_option("excludeSwitches", ["enable-automation"])
# 加上下面两行,解决报错,设置无界面运行
option.add_argument('--no-sandbox')
option.add_argument('--disable-dev-shm-usage')
option.add_arg