def webbrowser(option_):
try:
driver = getattr(webdriver,option_)()
except Exception as e:
print(e, ‘输入浏览器格式错误,使用默认浏览器’)
driver = webdriver.Firefox()
return driver
class Webbrowser:
"""
使用driver驱动,并传入打开所需要的浏览器参数
Firefox,Chrome。。。
"""
def __init__(self, option_):
self.driver = webbrowser(option_)
"""
打开
driver.get('网址')
"""
def open(self, url):
self.driver.get(url)
"""
关闭
driver.quit()
"""
def quit(self):
self.driver.quit()
"""
元素定位
driver.find_element(By.ID,'su')
"""
def loc_ele(self, ele, value):
return self.driver.find_element(ele, value)
"""
输入
driver.find_element(By.ID,'su').send_keys(text)
"""
def input(self, ele, value, text):
self.loc_ele(ele, value).send_keys(text)
"""
点击
driver.find_element(By.ID,'su').click()
"""
def click(self, ele, value):
self.loc_ele(ele, value).click()
"""
强制等待,根据导包而定
time.sleep(num) or sleep(num)
"""
def wait(self, num):
sleep(num)
"""
显示等待
判断某个元素是否存在
presence_of_element_located(find_element_by_id)
"""
def wait_presence(self, num, ele, value):
WebDriverWait(self.driver, num, 0.5).until(EC.presence_of_element_located((ele, value)))
这里我写了很明确的注释,就不做多的解释了。这里存放的大致这么一些东西,如有需要可以自己进行增加所需要的方法。
如果有疑问,下方评论留言,或者直接加博主吧。
接下来我们看看用例部分,怎么写?
我创建了一个casetest文件,把驱动也扔里面了,不扔里面,各位自己定义好驱动路径就行
–>>>清安<<<—
from web_frame.browser import Webbrowser
实例化类。传入所需使用的驱动名称,注意大小写
wb = Webbrowser(‘Chrome’)
打开地址
wb.open(‘https://baidu.com’)
进入显示等待判断元素
wb.wait_presence(3, ‘id’, ‘kw’)
强制等待1秒
wb.wait(1)
定位元素,输入内容
wb.input(‘id’, ‘kw’,‘清安无别事’)
定位元素,点击百度一下搜索按钮
wb.click(‘id’, ‘su’)
关闭
wb.quit()
这里我是以百度为基准的。各位可以直接用于项目上去实践,结合数据驱动ddt,你已经可以开始自动化了。
思路:
这里各位可以自己写入框架,并输出报告。具体如何,前面的unittest见过,这里直接引入即可,你也可以使用pytest
可以自行加入日志模块,日志模块也将在后续发布在python模块中。
本章结。期待后续的Excel关键字驱动吧,可以大大减少工作量。