慕测web安全测试软件下载及使用
本次web测试比赛主要分为三个部分,使用Selenium编写自动化测试脚本,使用Jmeter编写性能测试脚本,使用Appium编写移动应用测试脚本。
在写这篇随笔的时候Selenium环境已经配好了,相对也比较简单,所以这边稍微提一下。
1|0Selenium编写自动化测试脚本
下载eclipse,下载chorm版本对应的chormdriver,下载安装Selenium包
然后通过Selenium编写如下图所示的自动化脚本进行测试:
Selenium定位不到指定元素原因之iframe(unable to locate element)
切换iframe
selenium提供了switch_to.frame()方法来切换frame
注意:
可能你会这样写:switch_to_frame(),但会发现,这段代码被加上“删除线”了;
原因是这个方法已经out了,之后可能被废弃,建议switch_to.frame()
switch_to****.frame(reference)中的reference是传入的参数,用来定位frame,可以传入id、name、index以及selenium的WebElement对象。
如下图中的 id、name。
如果没有id、name属性的化,可以通过xpath匹配WebElement对象进行定位。
Selenium-java 登录后重定向页面(页面跳转后)刷新页面
driver.switch_to.window(wins[-1]) #列表最后一个是最新的窗口
selenium使用已打开的浏览器
在使用selenium的时候,通常都是在后台默默的执行操作,但是有的时候会想要让selenium直接使用当前已经打开的浏览器
我这里只尝试了Google Chrome
首先,需要从命令行启动google-chrome,并添加参数
然后在打开的浏览器中,就可以作为爬虫的浏览器,比如,可以访问某一个地址
然后使用selenium直接接管当前浏览器,进行操作
这个时候,输出的就是当前已打开浏览器打开的界面了
鼠标悬停操作
2|0JMeter编写性能测试脚本
JMeter的下载相对上面的自动化脚本环境要相对简单,就是一个jar包。但是使用起来却比自动化脚本的编写复杂很多。上面自动化脚本就是简单的java脚本编写。
Thread Group
-
线程数:模拟的用户数量
-
Ramp-up Period(in seconds):达到指定线程数所需要的时间。
在调度器复选框被选中的前提下:
-
持续时间(秒):在此选项填入N,说明这个计划,从某个开始时间 算起,执行N秒后结束。(会忽略结束时间的选项)
-
启动延迟(秒):在此选项填入N,手动点击开始执行计划,然后延 迟N秒后,计划才真正开始执行。(会忽略 启动时间的选项)
-
启动时间:当点击开始测试时,将等到此处填写的启动时间,然后真 正开始测试。
-
结束时间:当开始测试时,将等到指定的开始时间开始测试,然后会 停在此处填写的时间点结束。
-
Transaction Controller
事务控制器会产生一个额外的取样器(sampler),用来计算衡量它所包 含的所有测试组件(比如包含2个http采样器)的总体时间
HTTP(S) Request
使用BadBoy或者使用Jmeter自带的HTTP代理服务抓取请求。
Synchronizing Timer
Number of Simulated Users to Groupby: 每次释放的线程数量。如果设置为0,等于设置为线程租中的线程数量。
CSV Data Set Config
实现请求参数化。
- Filename:文件路径(包括目录和文件名),CSV文件使用相对路径, 和脚本放在同一级目录下
- File encoding:编码方式,建议utf-8,为了防止存在中文时乱码
- Variable Names(Comma-delimited):设置变量名,供其他功能 调用。如果存在多个变量 时,用,隔开
- Delimiter(use“\t” for tab):是指在提取有多个参数时,在文 件中已那个符号为分界点,进行提取
- Recycle on EOF:是否循环读取文件中的参数,设置为True,在循环 数超过数据时,会再次从第一条开始读取;设置为False,在读取到最 后一条 后,不再从第一条开始读取数据;
- Stop thread on EOF?:是否在读取完最后一条数据后,停止线程;
- Sharing mode:共享方式;一般使用默认就行(所有线程共享),可根据实际需求修改
3|0Appium编写移动应用测试脚本
3|11.安装node.js(0.8版本及以上)
安装完成后,运行cmd(或其他终端),输入node –v,如果安装成功,会输出版本信息
3|22.配置Java环境
3|33.配置Android sdk环境
可以使用Android sdk managerhttp://www.androiddevtools.cn/。
我直接下了个Android studio,一步到位。
配置环境变量
3|44.安装Appium
打开appium客户端
adb连接虚拟机
https://www.cnblogs.com/mik-hello/p/15308261.html安卓xpath定位
https://blog.51cto.com/u_15354476/5342062
appPackage和appActivity获取:
首先在android手机或模拟器上打开App,输入下面的abd命令:
__EOF__

本文链接:https://www.cnblogs.com/dre0m1/p/17282426.html
关于博主:I am a good person
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂