美文网首页
mac上实现selenium web UI自动化测试

mac上实现selenium web UI自动化测试

作者: 小安然 | 来源:发表于2018-09-14 14:51 被阅读0次

    背景:

            之前有做过android和ios的UI自动化,工作原因web ui自动化没怎么实践过,但ui自动化大致框架都是类似的,这两天抽空把我们的后台实现了ui自动化,不用每次重构和发布前都手工去过主路径啦。

    一、框架选型

            预研了几款web UI自动化框架,其中selenium凭借它的几点优势让我直接选择了它。

            首先,selenium与我做android和ios UI自动化时选择的appium框架类似,写用例无缝衔接直接上手就好,没有学习成本;

            其次,依赖的环境简单,没有appium那么多的包要装;

            第三,selenium虽然与之配套的浏览器和工具最新的更新没那么及时,但旧版本的支持都是现有可用的,特别是selenium IDE支持录制,firefox还有firebug插件可以右键直接获取xpath,特别省时省力,于是就这么愉快的决定啦,玩得飞起~~~

    二、环境安装

            1、python2.7 mac 自带,不用装,要装的小伙伴自行百度,so easy ~

            2、selenium

            由于selenium IDE在新版本firefox上并不支持,没有录制功能写起来还是挺费神的,我保守的都选择旧版本。

            如果已经安装了selenium3,需要先卸载;

           查看selenium版本命令:pip show selenium;

            卸载selenium命令:sudo pip uninstall selenium。

            selenium用命令行sudo pip install selenium==2.53.6安装时,由于被墙了,选择下载安装包自行安装,步骤如下:

            a.下载安装包selenium-2.53.6.tar.gz;

            b.将安装包放到python2.7的site-packages目录下,解压,我的目录是/Library/Python/2.7/site-packages/;

            c.cd到上一步解压后的selenium目录下,python setup.py  install,安装完成,查看版本号确认安装成功。

            3、下载安装firefox 40.0版本;

            4、下载selenium_ide-2.9.1-fx.xpi,拖到firefox里面安装好后,firefox右上角多出selenium IDE插件入口;

            5、下载firebug-2.0.16-fx.xpi,拖到firefox里面安装好后,firefox右上角多出firebug插件入口;

            至此,环境安装完成。

    三、录制自动化脚本

            点击firefox右上角selenium IDE插件图标,进入selenium IDE主界面;

            1、在下图序号1红框中,输入你要测试的web url;

            2、在下图序号2红框中,调节你要执行用例的速度,一般建议调到中间;

            3、在下图序号3红框中,点击录制按钮开始录制;

            4、在下图序号4红框中,对录制结果进行调节,可以增删改事件、参数;

            5、在下图序号3红框中,点击停止录制按钮停止录制;

            6、在下图序号5红框中,点击按钮开始执行用例;

            7、可以在菜单中选择文件——export test case as——python 2/unittest/web driver,将脚本导出为python,本地编辑直接脚本调用。

    四、优化脚本

            上步中最后导出的脚本,只包含了操作,没有包含断言结果判断,也缺少容错,想要持续集成自动生成结果,还需要自己按需补充。

    五、jenkins持续集成

            新建一个Jenkins任务,调用python命令执行脚本即可。

    六、输出报告

            偷懒直接用了之前做app UI自动化的报告模板HTMLTestRunner.py,这个文件网上到处都能下载,简书我还不会上传文件,就不贴了,贴下测试脚本中需要添加的内容:

    import HTMLTestRunner

    testunit = unittest.TestSuite()

    # 将测试用例加入到测试容器中

    testunit.addTest(webuitest("testcaseabc"))

    runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title='test result', description=u'result:')

    runner.run(testunit)

    生成的报告挺简单明了,可以自己加log。

    ————————————

    最近深入看selenium的书籍,了解到有selenium grid工具可以实现同一时间不同机器同时执行用例,感觉值得学习,mark下

    相关文章

      网友评论

          本文标题:mac上实现selenium web UI自动化测试

          本文链接:https://www.haomeiwen.com/subject/sqtogftx.html