之前我们公司是通过python+selenium+unittest框架编写脚本来实现自动化。我们也会用selenium2Library + RF框架来实现自动化的。
我觉得unittest和RF(RobotFramework)框架都差不多一样,都是用来组织用例的。【相同点】
不同的是unittest框架是用webbdriver作为驱动,并且要考虑驱动的传递。而RF框架是用关键字keyword_driven来驱动。Unittest框架是通过调用自己封装的方法来实现自动化测试,而RF框架是通过调用自带的第三方库或者扩展库里的关键字来实现自动化测试。RF框架平时调用比较多的就是selenium2Library,excellibrary,mysqllibrary测试库。【不同点】
用unittest框架编写脚本时,我们需要对元素进行定位,我们用得比较多的元素定位方法有:css,id,xpath,class,link。我们也会考虑下拉框、windows的弹出框以及滚动条的跳转,还有进入内嵌和退出内嵌界面的操作【元素定位】。我们也会对模块进行封装,把公共的方法和共同的操作步骤封装在一起【模块封装】。还会编写代码对元素进行参数化【一句话带过】。也会用assert进行判断检查,看看结果跟预期结果是否一致【断言】。
使用RF(RobotFramework)框架先是建立测试项目,再建测试套件,最后建测试用例。元素定位方法跟unittest一样,还有需要建立公共的关键字以及套件的公共资源。我们也会把公共的方法和共同的操作步骤封装在一起。配置参数用得比较多的是数据库连接,excel表格以及py文件,前两种情况我们需要先导入DatabaseLibrary和excellibrary测试库。我们也会用:Should Be Empty 添加断言来判断检查结果是否跟预期结果一致。同时我们也会考虑新界面和新元素的出现,所以我一般会用到