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()
  • 相关阅读:
    bootstrap模态框手动开启关闭与设置点击外部不关闭
    mybatis的增删改查返回值小析(六)
    mac安装python本版管理工具pyenv
    taro 编译 建议修改:使用循环的 index 变量作为 key 是一种反优化
    taro-多个input同一个事件处理
    python初探(01D) line 2 SyntaxError: Non-ASCII character 'xe8' 报错
    taro父、子组件通信
    taro---image引入图片
    webpack(五)---模块热替换
    webpack(四)---开发系列
  • 原文地址:https://www.cnblogs.com/dinghanhua/p/10009135.html
Copyright © 2011-2022 走看看