zoukankan      html  css  js  c++  java
  • 自动化过程遇到的问题整理

    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次,导致接口失败,报频繁操作的错误

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

  • 相关阅读:
    VS code 快捷键注释不能用[!----]解决办法
    vue 文件导出demo
    vue中后台返回的是数字,前端利用字典将其转换为相对应的中文
    java.lang.UnsupportedOperationException解决方法【转】
    Java List的remove()方法陷阱
    密码至少包含数字、大小写字母、特殊字符两种以上,长度不小于8位
    获取规格内数字
    获取时间段数据
    Echarts GL初次体验
    bootstrap-datetimepicker 如何获取值(日期)
  • 原文地址:https://www.cnblogs.com/wanshuang/p/12867262.html
Copyright © 2011-2022 走看看