前言
我所说的web测试包括web功能测试,是用eclipse+selenium一套的,也包括web性能测试,使用Jmeter的。
本人在诸多同学的指导下,也在不断地尝试中,踩了一些坑,记录下来希望能够帮助到部分同学。
Web功能测试
eclipse+selenium一套,和之前用appium差不多。
首先放一些我自己的骚操作代码。
//页面加载超时时间设置为 5s
driver.manage().timeouts().pageLoadTimeout(5, TimeUnit.SECONDS);
//定位对象时给 10s 的时间, 如果 10s 内还定位不到则抛出异常
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
/**
* 点击空白区域:坐标(0,0)
*/
public static void clickBlankArea(WebDriver driver) {
Actions actions = new Actions(driver);
actions.moveByOffset(0, 0).click().build().perform();
}
坑点1:取不到元素(被遮挡)
这时候可以考虑的做法是,点一下空白处。你可以通过代码来,也可以通过给一个长等待时间,然后手动点一下。
坑点2:取不到元素(自动化与手动不一致)
这个所述的现象是这样的:你用chrome取到了一个页面上的元素,你复制xpath,然后放到eclipse里面跑,然后发现找不到元素。这个原因也很简单,是因为自动化测试的时候,使用的是匿名窗口,所以我推荐的解决办法是:自己在写的时候,开一个无痕窗口。
Web性能测试
主要问题应该是参数化的问题吧。
我的解决办法是,在理解了参数化的意义后,直接开个Notepad写一个csv,并且我只使用了单行数据,不要用excel生成之类的,也不要用记事本打开,会带来Bom头。用notepad是因为可以清楚看到到底有几行。还有一些玄学问题我正在探索中,如果有发现会补充起来。