py+selenium 自动判断页面是否报错并显示在自动化测试报告【原创】

释放双眼,带上耳机,听听看~!

  有需求就会去研究解决的路子。

  现在需求就是,测试报告报错信息一堆,但却无法肉眼看出是什么问题,你只能知道定位不到元素或是超时,但你却不知道其实进入页面就报错了或是提交表单就报错了!也就是看到报错,需要进一步去手工实际操作看看到底为啥定位不到元素或是为啥超时了。

  这就是平常比较抓头的测试报告图。

 

py+selenium 自动判断页面是否报错并显示在自动化测试报告【原创】

 

  最近我就想写个方法,判断页面报错,显示在测试报告里,减少手工的检验,其实也很简单。

 

# 测试进入页面是否报错
def httpcode(self, link):

    self.driver.switch_to.parent_frame()
    self.driver.switch_to.frame(\"fraLeftFrame\")

    # 拼接当前访问的url
    # href = self.driver.find_element_by_link_text(link).get_attribute(\'href\')
    href = self.driver.find_element_by_xpath(\"//a[text()=\'%s\']\" % link).get_attribute(\'href\')
    href = re.findall(\"(\\/.*)\\\"\\)\", href)
    ipport = re.findall(\"(http://.*)\\/\", self.driver.current_url)
    url = ipport[0] + href[0]

    cookies = {\"JSESSIONID\": self.driver.get_cookies()[0][\'value\'], \"jforumSSOCookieNameUser\": \"xxxx\"}

    res = requests.get(url, cookies=cookies, stream=True)

    # 判断是否响应200
    if res.status_code != 200:

        print(\"********** http请求错误,页面报错 **********\\n\"
              \"(访问\", url, \"页面报错\", res.status_code, \")\\n\")
        raise urllib.error.HTTPError()
    else:
        print(\"**********  http请求响应200  **********\")

    self.driver.switch_to.parent_frame()
    self.driver.switch_to.frame(\"fraRightFrame\")

 

  无视方法里前后的进入frame哈,由于页面需要登录,所以我需要获取当前cookie加入到request里,这个根据你自己的系统实际需求设计。

  其实主要的思路就是,访问页面时,用request请求对应页面(因为无直接链接,所以上面的代码是拼接出页面的链接),根据响应是否为200来判断页面是否报错,如果非200,那就抛出异常

 

  而调用时,则是放在显示等待前面,这样页面报错,就不用去跑30秒等待着元素了,报错反而更快的退出进入下一条用例。

 

py+selenium 自动判断页面是否报错并显示在自动化测试报告【原创】

 

  上面是页面访问报错的问题处理,而下面我又写了个,提交表单报错的处理,更简单。

  仅提供思路,不一定适用所有系统。

  因为目标系统提交报错跳转的报错页面,都是同个页面,那么就可以通过定位报错页面里面的某个元素来判断,如果发现元素存在则抛出异常,不存在则继续。

 

py+selenium 自动判断页面是否报错并显示在自动化测试报告【原创】

 

   虽说上面两种方法,不能将所有报错可能都判断出来,但也至少判断了7成,大大的减少人工检验。

 

现在的报告是这样:

 

py+selenium 自动判断页面是否报错并显示在自动化测试报告【原创】

 

 

如有错误,请及时指正,谢谢!

 

给TA打赏
共{{data.count}}人
人已打赏
随笔日记

全站图集解析下载器V2.0

2020-11-9 5:58:05

随笔日记

控制流测试与条件测试

2020-11-9 5:58:08

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索