zoukankan      html  css  js  c++  java
  • 验证客服按钮及链接跳转正确性(实战练习)

    小的需求迭代:页面添加客服按钮;页面上下滚动客服按钮要一直显示;按钮跳转到固定链接
     
    分步实现:
    1 利用cookie跳过登录(打开网页,写入cookie刷新或再次get网址)
    2 验证客服按钮是否显示(element.isdisplayed())
    3 验证页面滚动后客服按钮是否显示 (执行js脚本)
    4 验证客服按钮跳转链接的正确性(切换窗口)
    5 发生异常或用例失败时保存截图 (get_sreenshot_as_file(),捕获异常try...except...finally...)

    # coding:utf-8
    '''
    dinghanhua
    客服按钮验证脚本 ''' from selenium import webdriver import time test_domain = 'http://testurl' #测试域名 product_domain = 'http://producturl' #线上域名 domain = product_domain #方便切换环境
    url = domain+'/testurl' #测试地址
    consult_url = 'http://consulturl' #客服按钮跳转地址
    
    dr = webdriver.Chrome()
    #dr = webdriver.Firefox() #兼容性测试
    #dr = webdriver.Ie() #兼容性测试
    
    dr.get(domain) #先访问域名,写入cookie
    dr.add_cookie({'name':'loginstring','value': 'loginvalue'})
    time.sleep(2)
    dr.get(url) #再访问测试地址
    time.sleep(2)
    
    try:
        popconsult = dr.find_element_by_id('popconsult')
        #验证客服按钮是否显示
        if  popconsult.is_displayed():
            print(domain,'显示有咨询按钮,pass')
        else:
            print(domain,'未显示咨询按钮,fail')
            dr.get_screenshot_as_file('D:/未显示咨询按钮.png')
    
        #下拉滚动条仍显示在页面
        js = 'document.documentElement.scrollTop=1000'
        dr.execute_script(js)
        time.sleep(1)
        popconsult = dr.find_element_by_id('popconsult')
        if popconsult.is_displayed():
            print('滚动之后显示正常 pass')
        else:
            print('滚动之后未显示在页面范围内 fail。')
            dr.get_screenshot_as_file('D:/滚动之后未显示在页面范围内.png')
    
    
    
        #验证客服按钮点击跳转地址是否正确
       js = 'document.documentElement.scrollTop = 0'
       dr.execute_script(js)
       time.sleep(1)
       popconsult = dr.find_element_by_id('popconsult') popconsult.click() time.sleep(2)
    current_window
    = dr.current_window_handle handles = dr.window_handles for handle in handles: if handle != current_window: dr.switch_to.window(handle) if dr.current_url == consult_url: print('地址正确,pass') else: print('地址错误,fail.当前地址:',dr.current_url) except Exception as e: print('发生异常,截图:D:/客服按钮异常.png。 ',e) dr.get_screenshot_as_file('D:/客服按钮异常.png') finally: #退出 dr.quit()
  • 相关阅读:
    使用ueditor实现多图片上传案例——Servlet层(UploadServlet)
    使用ueditor实现多图片上传案例——截取字符串层Util(SubString_text)
    [转载]oracle删除数据后的恢复
    [转载]oracle删除数据后的恢复
    为什么在定义hashcode时要使用31这个数呢?
    为什么在定义hashcode时要使用31这个数呢?
    [转载]hashCode和equals
    [转载]hashCode和equals
    Oracle HINT的用法
    Oracle HINT的用法
  • 原文地址:https://www.cnblogs.com/dinghanhua/p/10009135.html
Copyright © 2011-2022 走看看