300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > python selenium unittest_python+selenium+unittest UI自动化

python selenium unittest_python+selenium+unittest UI自动化

时间:2024-06-02 23:43:23

相关推荐

python selenium unittest_python+selenium+unittest UI自动化

首先想学习的同学强烈建议你先看完这位的帖子 /u011541946/article/category/6788788/1?,对自动化有基本的了解,才能更好的理解和实践相关的功能。我实现的效果如下:

因为功能太多太杂,我不知道从何讲起,就挑一些我认为的重点和让我走过弯路的一些点来说吧

拿登录这个case做为例子,会至少写5个文件---输入数据/元素/执行步骤/断言/执行方法

这个包下放方法

data里放数据,比如登录url,用户名密码什么的

testcase包里放执行文件,这里要注意,使用unittest框架的话执行文件必须是以test开头的,不然可能会提示testsuit为空之类的错误。且执行顺序是a~z,A~Z,0-9;这个在process里很重要,因为有些操作会有上下依赖,一定要设置好顺序。

也可以调用这个执行文件去运行你的case,区别是上面的test_a_login是可以单独运行,但是不产生报告;但是在run方法里运行,可以同时执行多个case并产生报告,看下代码就明白了

上面代码的意思就是运行testcase包下的civa_f~~文件且文件是以test_开头的,

主要了解这个框架怎么用,剩下的就是填充了代码,元素和断言之类,编写过程中遇到不少问题,但大多都是和自己粗心有关,也拓展学习了些元素定位的方法,有时间再写,我要下班啦

先把登录部分的代码贴出来,让大家对这个框架有个大概了解

一般会有个专门pakage去放这些基本方法,比如basepage,然后登录模块的话就建立一个login的包:element的方法我专门写了个public_list文件,后续使用的话可以直接调用就行,不用写那一常串的self.driver.findelement_by_xpath——————blabla~~之类的了

publick_list的一角

然后是把loging element里的元素整合成对应的操作步骤

这里面是放登录的数据的,可能看着比较少没必要,但是后面的操作比如创建课程之类的话就会有很多数据要选择或者输入了,最好是把数据摘出来,这样的话后期维护也方便,只需要改这个文件就可以了;另外我们的后台登录每次都是要手机号码接收验证码的,这里我直接让开发给我开了个万能的验证码就不需要去读数据库了

当然不能忘记添加断言了,我这里是用绝对路径定位的后台logo,因为这个logo只有登录成功后才会在导航页面展示出来,以此来判断是否登录成功,里面有些的@方法记得要加上,否则执行可能报错

最后就是在test里调用执行了,我这里有个问题,不能使用driver.maximize_window()的方法,很奇怪,最后只能使用设置窗口尺寸的方式来曲线救国了

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。