业务逻辑层面的相关操作例如:创建浏览器对象、访问url、元素定位、输入、悬停、切换句柄、点击等待操作等等。此代码程序不会执行浏览器任何操作行为。(从selenium里面取需要操作的相关方法)
关键字类:(简单书写)
class keyDemo:
driver = webdriver.Chrome()
#打开浏览器
def open(self,url)
self.driver.get(url)
#定位元素
def locator(self,name,value):
return self.driver.find_element(name,value)
#输入值
def input(self,name,value,txt)
self.locator(name,value).send_keys(txt)
#点击操作
def click(self,name,value):
self.locator(name,value).click()
#退出操作
def quite(self):
self.driver.quite()
......构造函数初始化driver(可以根据输入浏览器类型执行测试)
from selenium import webdriver
# 基于type生成对应的浏览器对象
def browser(type_):
try:
driver = getattr(webdriver, type_)()
except Exception as e:
print(e)
driver = webdriver.Chrome()
return driver
class keyDemo:
# driver = webdriver.Chrome()
# 打开浏览器
def __init__(self, type_):
self.driver = browser(type_)
def open(self, url):
self.driver.get(url)
# 定位元素
def locator(self, name, value):
return self.driver.find_element(name, value)
# 输入值
def input(self, name, value, txt):
self.locator(name, value).send_keys(txt)
# 点击操作
def click(self, name, value):
self.locator(name, value).click()
# 强制等待
def sleep(self, time_):
self.sleep(time_)
# 退出操作
def quite(self):
self.driver.quit()
使用关键字类编写测试用例(未优化)
from base.login_base import keyDemo
kd = keyDemo('Chrome')
kd.open('https://www.baidu.com')
kd.input('id', 'kw', '玩技e族')
kd.click('id', 'su')
kd.quite()使用关键字类编写测试用例(使用Unittest方式):代码冗余度过高还可以再精简。
from base.login_base import keyDemo
import unittest
class CassDemo(unittest.TestCase):
def test_01(self):
kd = keyDemo('Chrome')
kd.open('https://www.baidu.com')
kd.input('id', 'kw', '玩技e族')
kd.click('id', 'su')
kd.quite()
if __name__ == '__main__':
unittest.main()