python Selenium Web自动化操作+软件测试
web功能测试:
用自动化代码来实现平常用鼠标和键盘实现的页面操作
拿到webElement之后,就可以对页面元素做click等操作
选中某个元素,对其作下拉操作
怎么去模拟键盘操作?
怎么模拟键盘加鼠标操作?
result: 用到键盘和鼠标模拟的api
用到action类: actions.java, 以此来模拟鼠标和键盘的操作
等待操作: 当某时网络不好的时候, 加载页面需要时间, 所以需要等待
- 显式等待: 硬等待
- 条件等待: 指定条件去等待, 可以减少等待时间
不能每一步都sleep, 如果网络不好, 等待时间很长
主要就是click和sendkeys操作
web性能测试:
JMeter的使用
不能同时去压一个网站, 会扛不住
JMeter的优点:
如果要参加软件测试大赛,要去慕测官网下载selenium及相关软件, 是经过二次开发的判题selenium
开发者测试:
使用JUnit
使用jdk 8版本
要学习JUnit的使用和测试代码的编写
beforeclass做一些预处理
JUit执行代码的过程
建议在每一天测试用例后面都写一个timeout, 用来指定测试案例执行时间的最大上限, 避免一个测试样例不对导致之后的测试用例都无法使用
如何判断测试是否充分?
- Bug检测率
- 测试覆盖率
语句覆盖:要求程序中的每条可运行语句至少被运行一次
分支覆盖:
修真条件/分支覆盖 也称为MCDC
一些公司会对这个测试标准有着特别的要求
程序变异
变异算子
变异程序模拟程序员的一些低级错误所导致的错误代码
等价变异体 :虽然操作不同,但是在逻辑上是相同的
变异得分:
变异得分越高越好
变异杀死和变异存活:
在边界值做测试
边界值分析: 在边界值上, 和边界值的左右两侧都可以做测试
编程注意和建议:
软件测试大赛所有的代码都是要用Java写的
并且要用他们的二次开发的软件
所有的软件都要在官网进行下载慕测
编写测试代码时间限制timeout
示范案例:
环境安装:
推荐下载含插件的eclipse, 避免出现一些配置问题
ide要使用eclipse
- 在eclipse中打开MoocTest插件
- 先进行登录login, 输入题目的code码
- 然后download
- 可能会出现问题: 大概率是因为网络连接问题, 要把VPN关掉
一个是源码, 一个是测试代码
选择4版本
要放在test/java中
使用timeout指定最大运行时间
使用断言来判断测试点
在写完测试用例之后要记得及时的保存
然后点击插件, 点击第三个选项
如果题目做完了, 点击logout进行退出
每次写完测试用例都要进行保存
最终的成绩是以最后一次的提交为准的, 不是最高分
不要动原始的pom.xml文件
不需要在eclipse中配置maven
只需要在系统环境上配置maven就行了
环境会自动的从系统的maven中找需要的jar包
先提交再退出
然后再登录下载, 之前提交的文件会被记录, 不会被初始化