美文网首页
Web自动化测试(Python+Selenium+Firefox

Web自动化测试(Python+Selenium+Firefox

作者: 小菊花麻麻颗糖 | 来源:发表于2020-01-03 15:51 被阅读0次

    这两天学习已一点web自动化测试,总结一下。

    一、自动化测试代码可视化角度分类

    黑盒测试(功能测试)、灰盒测试(接口测试)、白盒测试(单元测试)

    二、自动化测试优缺点

    优点:1、较少的时间运行更多的测试用例 2、自动化脚本可重复运行 3、减少人为的错误 4、测试数据可存储,不需要重复造测试数据

    缺点:1、不能取代手工测试 2、没有手工测试发现的bug多 3、对测试人员技术要求较高

    三、自动化测试方向分类

    1、Web(UI)自动化测试 2、接口自动化测试 3、移动(APP)自动化测试 4、单元测试

    四、主流自动化测试分类

    1、web自动:Selenium、robot framework(基于Python的可扩展的以关键字驱动的测试自动化框架)

    2、APP端:Appium、Monkeyrunner、UIautomation

    3、云测平台:Testin、Testbird

    4、接口自动化:Jmeter、Postman、HTTPunit、RESTClient

    5、性能测试:Jmeter、LoadRunner

    五、Selenium

    什么Web项目适合自动化测试?

    1、需求变动不频繁 2、项目周期长 3、需要回归的项目

    这两天主要学习了selenium,下面总结一下selenium相关内容

    1、Selenium是一个用于web应用程序测试的工具,具有开源、跨平台、多语言、多浏览器进行、成熟稳定、功能强大等特点。

    2、Selenium IDE是一个Firefox插件,用于记录和播放用户与浏览器的交互(录制web操作脚本),可在火狐浏览器附加组件直接安装

    Selenium IDE安装

    Selenium IDE使用介绍

    安装之后右上角有快捷图标可直接打开

    简单介绍一下,鼠标放上图标上均有英文解释,各位可自行探索

    Selenium IDE操作简介

    下面是执行测试脚本的动图

    打开天涯论坛登录,3后打开淘宝官网

    3、webdriver(总之是一套API就对了,敲代码的时候要用他)

    一种用于web应用程序的自动化测试工具,提供了一套友好的API,不依赖于任何测试框架的一套类库,除了必要的浏览器驱动

    4、Selenium安装与使用

    首先要确保装了Python,前面的文章写过不再写了,通过命令行使用pip命令安装Selenium

    原本我跟着教学视频安装2.48.0了,但是后面发现跟我的火狐浏览器最新版不兼容,后面卸载安装了最新版本

    安装 验证

    5、安装火狐webdriver驱动

    安装好之后兴冲冲的跟着视频敲代码了,发现webdriver下面还红,一运行却是第二行报错,百度之后发现是没有装火狐的webdriver驱动,以下网址下载:https://github.com/mozilla/geckodriver/releases 

    下载下来之后解压,将解压后的exe文件放在python根目录下的Script目录下即可

    下载火狐webdriver驱动

    报错解决之后webdriver还红,允许之后又报错,各种百度,有一招解决了,新建项目打开Project Interpreter,勾上下面俩勾,虽然不知道是干啥的,感觉意思应该是自动拿到我安装的各种包吧,反正不报错就行了

    解决webdriver标红

    6、又兴冲冲地敲代码,这下改装的包都装了,总改没问题了吧,还是有问题,只自动打开了火狐浏览器主页,没有进入driver.get的网页,下面有一堆报错,于是又各种百度,意思就是selenium版本和火狐版本不兼容(原本我装了2.48.0版本的selenium),一看我的火狐的最新版,于是就想装最新版的selenium试试,结果成功了。

    python脚本打开火狐浏览器进去并打开百度

    7、打开本地HTML页面输入用户名密码登录,暂停5s后关闭浏览器

    本地简单web自动化

    六、自动化脚本案例实施步骤总结

    1、导包  2、指定浏览器  3、打开项目 4、找到元素(定位元素) 5、操作元素

    七、线上网站自动登录、退出

    打开天涯论坛登录、退出

    我猜测应该是因为主页面没有退出的按钮,要鼠标放在昵称上面才会弹出来一个含有退出按钮的操作页面,然后复制报错开始百度 

    Message: Element could not be scrolled into view

    退出

    经网上查找是因为不可见元素定位原因,某些情况元素的visibility为hidden或者display属性为none,我们在页面看不到但是实际是存在页面的一些元素,这时候用 is_displayed() 来判断(百度别人的,大致看懂了,反正就是直接找不到他)

    is_displayed()判断

    加上之后其实还没有退出,应该是跳过了退出的步骤,不满足display条件,5s+5s后直接退出了浏览器。

    跳过退出直接关闭浏览器

    原本打算定位首页的退出按钮退出,但是操作起来一直报错,最终只能走到鼠标放到昵称上面弹出弹框

    打算进入我的页面退出,此页面的退出元素比较好定位

    代码实现退出

    相关文章

      网友评论

          本文标题:Web自动化测试(Python+Selenium+Firefox

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