1、将所有测试用例的.py文件放到同一个文件夹test_case,并添加__init__.py文件
2、把执行测试的all_test.py文件单独放在test_case文件夹外面
3、将如登录,退出等不属于完整测试用例的公共模块,单独创建一个文件夹
all_test.py文件移出来
将所有测试用例的.py文件(baidu.py bing.py)放到同一个文件夹test_case中,执行all_test.py文件是import baidu,import bing语句会报错,这是因为三个.py文件不在同一个目录下面
需要在test_case 目录下创建一个__init__.py 文件,文件内容可以为空。将:\selenium_python\test_cast 目录添加到sys.path 下:
__init__.py文件解析
Python中package的标识,不能删除
Python在执行import语句时所进行的操作:
第一步:创建一个新的,空的module对象(它可能包含多个module)
第二步:把这个module对象插入到sys.module中
第三步:装载module的代码(如果需要)
第四步:执行新的module中对应的代码
在执行第3 步时,首先要找到module 程序所在的位置,搜索的顺序是:
当前路径(以及从当前目录指定的sys.path),然后是PYTHONPATH,然后是python 的安装设置相关的默认路径。正因为存在这样的顺序,如果当前路径或PYTHONPATH 中存在与标准module 同样的module,则会覆盖标准module。也就是说,如果当前目录下存在xml.py,那么执行import xml 时,导入的是当前目录下的module,而不是系统标准的xml。了解了这些,我们就可以先构建一个package,以普通module 的方式导入,就可以直接访问此package中的各个module 了。python 中的package 必须包含一个__init__.py 的文件。
把公共模块移进去
在第五章中,我们webcloud.py 测试用例的登录和退出进行了模块化,分别创建了login.py 和quit_login.py 两个文件,他们属于公共模块,并非完整的用例本身,所以我们可以单独创建一个文件夹,将他们移进去。在test_case 目录下创建public 目录,把login.py 和quit_login.py 文件移进去。同样需要在public目录下创建空的__init__.py 文件;同时修改test_case 目录下的webcloud.py 文件:
本文参考《selenium自动化实战---虫师》