首先我们需要搭建一个自动化执行脚本的配置文件。配置文件怎么样搭建?
配置文件我们有多种选择:ini、yaml、xml、properties、txt、py等。
我常用的配置文件名用的ini。鉴于该功能用于软件测试。所以我们在根目录的文件夹里创建pytest.ini文件,如下:
[pytest]
addopts = -s
testpaths = ./scriptss #你执行文件的名字(可自己选着名字)
python_files = test_*.py #在执行文件下面的名字(test可以自行修改名字)
python_classes = Test* #在代码里开头的名字为Test(Test可自行修改)
python_functions = test_* #在代码里面执行的代码名字(test_可自行修改名字)
文中所有带(*)的地方皆为你设置的名字;
创建一个ini的配置文件之后,运行文件的名字需要按照pytest.ini里面的testpaths=./*来创建。
创建一个名字为scriptss的文件包,在该包下面的文件名字皆采用test_*的一个文件名。
在test_*的文件里面代码的开头皆采用Test*开头。之后存放执行的元素等命令的def开头用test_*执行。如下:
测试网址:sahitest.com/demo/mouseover.htm
class TestTs:
def test_sace(self):
self.driver.find_element_by_name('t1').send_keys(123) #driver是一个变量名。
#仅供参考,代码不全
文中send_keys()是输入的意思。
执行该代码之前还需要配置一个浏览器,和一个开关以及关闭浏览器的命令;
我们创建一个utils的一个包,在该目录下创建一个utilsss的一个文件名;
执行代码如下:
from selenium import webdriver
class UtilsSs:
driver = None
@classmethod
def get_driver(cls): #为了方便日后能看懂代码,名字最好不要乱取
cls.driver = webdriver.Chrome() #我才用的是谷歌的浏览器。
cls.driver.implicitly_wait(5) #该代码是一条隐式等待5秒
cls.driver.maximize_window() #初始打开的浏览器不是全屏的,max是把浏览器最大化。
return cls.driver #把浏览器复制的driver变量return出去。
@classmethod
def close_driver(cls): #为了方便日后能看懂代码,名字最好不要乱取
cls.driver.quit() #执行完所有命令之后quit driver