UI自动化测试—多线程遍历浏览器搜索例子

一、网页搜索自动化

1.引入库

代码如下(示例):

from selenium import webdriver
from time import sleep
import threading
from selenium.webdriver.chrome.service import Service       # 新版本调用方法
from selenium.webdriver.common.by import By                 # 新版本调用方法

2.定义函数

代码如下(示例):

# 旧版调用方法
# driver = webdriver.Chrome(executable_path='./chromedriver')
# driver = webdriver.Firefox(executable_path='./geckodriver')
# driver = webdriver.Chrome(executable_path='./chromedriver')     #创建浏览器对象,打开浏览器
# driver.maximize_window()																			#窗口最大化
# driver.get('https://mail.qq.com/')														#打开qq邮箱

#获取driver
#方法1
s = Service('./chromedriver')                       #新版调用方法
driver = webdriver.Chrome(service=s)

# #方法2
# cap = {"browserName":"chrome","platform":"LINUX"}
# driver = webdriver.Remote("http://..//hub",cap)			#hub获取driver的方法

# # 1.封装百度
def get_baidu(driver):
    # 打开url
    driver.get('http://www.baidu.com')

    # 旧版调用对应元素方法
    # # 输入python
    # driver.find_element_by_id('kw').send_keys('python')
    # # 点击搜索按钮
    # driver.find_element_by_id('su').click()

    # # 新版调用对应元素方法
    # 输入python
    driver.find_element(By.ID,'kw').send_keys('python')
    # 点击搜索按钮
    driver.find_element(By.ID,'su').click()
    
    # 暂停3sleep(3)
    driver.quit()

# # 2. 封装driver
def get_driver(browser):
    # 定义控变量
    cap = None
    #判断浏览器类型
    if browser == 'chrome':
        cap = webdriver.DesiredCapabilities.CHROME.copy()
    elif browser == 'firebox':
        cap = webdriver.DesiredCapabilities.FIREFOX.copy()
    #修改默认平台名称
    cap['platform'] = "LINUX"
    #返回 driver
    return webdriver.Chrome(service=s)

3.调用函数遍历浏览器列表

代码如下(示例):

# # 3.遍历多线程
# 定义浏览器列表
browserName = ['chrome','firebox']
# 遍历浏览器列表
for browser in browserName:
    driver = get_driver(browser)
    threading.Thread(target=get_baidu, args=(driver,)).start()

总结

1.在定义函数时,注意代码的缩进;
2.在使用旧版本进行驱动调用时,会报出相应警告,使用新版本调用无警告。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在进行 UI 自动化测试过程中,如果 Chrome 浏览器出现 ERR_INSUFFICIENT_RESOURCES 错误,可能是由于以下几个原因导致的: 1. 内存泄漏:自动化测试过程中,可能会出现未正确释放资源的情况,导致内存占用不断增加,最终导致资源不足错误。你可以检查你的测试代码,确保在每个测试完成后正确地释放浏览器实例和其他资源。 2. 多个 Chrome 实例同时运行:如果你同时运行了多个 Chrome 实例进行自动化测试,可能会导致资源不足。你可以尝试限制同一时间运行的 Chrome 实例数量,或者在测试完成后手动关闭不需要的实例。 3. 配置不当:某些 Chrome 浏览器配置可能会导致资源不足错误。你可以尝试修改 Chrome 的配置,例如减少页面缓存大小、禁用扩展程序等。可以查阅 Chrome 浏览器文档或者社区来获取更详细的配置建议。 4. 硬件资源不足:如果你的计算机硬件资源有限,例如内存、处理器等,可能会导致浏览器运行时出现资源不足错误。在运行自动化测试之前,确保你的硬件资源能够满足测试需求。 解决 ERR_INSUFFICIENT_RESOURCES 错误的一般方法包括优化测试代码、限制并发运行的浏览器实例数量、调整浏览器配置或升级硬件资源。根据具体情况,你可能需要结合以上方法尝试解决问题。如果问题仍然存在,建议提供更多关于错误发生的详细信息,以便进行进一步的诊断和解决。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值