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
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值