验证客服按钮及链接跳转正确性

小的需求迭代:页面添加客服按钮;页面上下滚动客服按钮要一直显示;按钮跳转到固定链接
 
分步实现:
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。\n',e) dr.get_screenshot_as_file('D:/客服按钮异常.png') finally: #退出 dr.quit()

猜你喜欢

转载自www.cnblogs.com/dinghanhua/p/10009135.html