自动化过程遇到的问题整理

1、安装Maven依赖后,在执行testng用例时一直报错误,在maven的本地仓库路径下的org目录,没有aspectj后面一串的内容,不确定是否是依赖没有下载完毕,使用的远程电脑办公,网络非常慢

 解决方法: 

1)发现是在pom.xml中配置的Allure报告的时候配置了这个路径,应该是少安装了东西,暂时先去掉就可以了

2)后面发现是由于网络原因,本地仓库没有下载下来

2、脚本发现出现了一个报错:Element is not clickable at point (1648, 30). Other element would receive the click

分析原因,首先肯定不是因为页面元素不存在而无法点击,实际上这个页面元素是存在的,而是被另外一个弹层挡住了。

 解决方法:

1)用键盘sendKeys(Keys.ENTER)代替click,发现仍报错: unknown error: cannot focus element,是因为选择的点击的元素不是input类型的,无法聚焦到元素,此办法行不通

2)封装的元素是用的智能等待,直接不用,用硬性等等Thread.sleep(3000),问题解决了

3、在进行接口自动化,执行登录接口,发现只执行了父类方法中的初始化和结束,没有调用登录接口

 解决方法:代码问题,在解析excel数据时,比较用的是String类型, 在定义变量里用的int类型, 还有就是识别@excel (name = ”“) 名称与excel用例的标题的名称不匹配,导致识别不到参数,修改就好了

4、接口自动化时,进行https请求时,发生报错

查了问题发现是:所请求的网站域名和服务器上的证书中的域名不符,导致请求方域名不匹配的异常

解决办法:

1)服务器导入证书

把网址的证书导出放到jre目录下C:Program FilesJavajre1.8.0_65libsecurity,打开cmd 

a keytool -importcert -trustcacerts -alias glfeed -file glfeed.cer -keystore -trustcacerts     (glfeed.cer 证明名称)

b 输入密钥库口令:changeit

c 提示:“是否信任此证书? [否]:” ,那么请输入"y", 解决

2)代码解决忽略证书问题

5、接口自动化时,解析excel用例断言时,发生java.net.SocketException: Software caused connection abort: socket write error错误,发现表格在回写断言结果时,回写内容为空

 解决办法:

发现是期望断言结果中json格式的参数少了一个"号引起的,加上后问题解决

6、执行接口自动化https请求时,发生错误 

  解决办法:

升级jdk的版本,具体参考文章 https://blog.csdn.net/kevin_mails/article/details/82143490

7、在执行接口自动化时,报错信息如下“com.alibaba.fastjson.JSONException: unclosed string ” ,查了下说是json转换时出错,当时检查了很久,不知道是哪里写错,后面发给别人看,一眼看出是少了个“,真是当局者迷呀

 解决办法:

修改json格式路径

8、在执行get请求时,想请求一个异常的用例,即本来URL是不带参数的,故意在url后加上参数,查看请求结果,于是在代码中直接

if ("get".equalsIgnoreCase(api.getApiReqMethod())) {
    if (cases.getCaseDes().contains("URL带参数请求")) {
         url = api.getApiUrl() + "?" + "service_button =1";

}然后发生了如下错误,度娘查了说是 地址中涉及了特殊字符,如‘?’‘&’等。

 解决方案:

 原来是"service_button =1"; 等号前面多了一个空格,去掉空格后问题解决

网上查了很多是说用以下的方式解决

1、必须采用%0xXX方式来替代特殊字符

2、先把String转成URL,再能过URL生成URI的方法来解决问题

但是方案二的解决方案不适用于我的项目,所以采用了方案一,试了下,打印出来的url直接以%3F,没法请求

 

9、由于公司接口设置有限制,即执行20次时会判定频繁操作,在实际项目时,一个接口有多个用例,且一个用例要执行三次,所有有容易就超过了20次,导致接口失败,报频繁操作的错误

解决办法: 在每次调用接口前,设置等待时间

原文地址:https://www.cnblogs.com/wanshuang/p/12867262.html