• Python+Selenium学习(四)-第一个自动化脚本


      接下来,我开始我的第一个webUI自动化脚本,加油!

      测试用例:打开百度首页,搜索Selenium,然后检查搜索列表,有没有Selenium这个官网链接选项。

      测试场景拆分为以下步骤:

      (1)启动浏览器(Chrome浏览器);

      (2)打开百度首页,https://www.baidu.com;

      (3)定位搜索输入框,激励下输入框的Xpath表达式://*[@id=’kw’];

      (4)定位搜索提交按钮(百度一下这个按钮),获取Xpath表达式://*[@id='su'];

      (5)在搜索输入框输入“Selenium”,点击百度一下这个按钮;

      (6)在搜索结果列表去判断是否存在Selenium官网这个链接;

      (7)退出浏览器,结束测试。

    具体脚本代码:

    一、第一种

    # coding=utf-8
    import time
    from selenium import webdriver
    
    driver = webdriver.Chorme() #打开Chrome
    dirver.maxmize_window() #最大化浏览器窗口
    driver.implicitly_wait(8) #设置隐式时间等待
    
    dirver.get("https://www.baidu.com") # 输入百度地址
    driver.find_element_by_xpath("//*[@id='kw']").send_keys("selenium")  # 搜索框输入Selenium
    dirver.find_element_by_xpath("//*[@id='su']").click() # 点击百度一下按钮
    
    # 导入time模块,等待2秒
    
    time.sleep(2)
    # 这里通过元素XPath表达式来确定该元素显示在结果列表,从而判断Selenium官网这个链接显示在结果列表。 # 这里采用了相对元素定位方法/../ # 通过selenium方法is_displayed() 来判断我们的目标元素是否在页面显示。
    driver.find_element_by_xpath("//div/h3/a[text()='官网']//../a/em[text()='Selenium']").is_displayed() driver.quit()

    二、第二种断言写法

    # coding=utf-8
    import time
    from selenium import webdriver
    
    driver = webdriver.Chrome()
    driver.maximize_window()
    driver.implicitly_wait(8)
    
    driver.get("https://www.baidu.com")
    driver.find_element_by_xpath("//*[@id='kw']").send_keys("selenium")
    dirver.fine_element_by_xpath("//*[@id='su']").click()
    
    time.sleep(2)
    
    ele_string = driver.find_element_by_xpath("//div/h3/a[text()='官网']/../a").text
    if (ele_string == u"Selenium - Web Browser Automation"):
        print "测试成功,结果和预期结果匹配!"
    driver.quit()
    

      

    总结:web的自动化测试我认为主要有两个难点:1.定位元素;2.如何去写断言,如何判断测试结果是否通过。

     参考文章:https://blog.csdn.net/u011541946/article/details/68484368

      

  • 相关阅读:
    Vector-Constructors
    C++:多维数组的动态分配(new)和释放(delete)
    C++:多维数组的动态分配(new)和释放(delete)
    COM_利用GetWallpaper()获取墙纸路径
    COM_利用GetWallpaper()获取墙纸路径
    COM 技术相关概念
    COM 技术相关概念
    全排列与next_permutation
    全排列与next_permutation
    屏蔽MFC程序中的ESC键和ENTER键关闭窗口
  • 原文地址:https://www.cnblogs.com/zhaocbbb/p/12599346.html
Copyright © 2020-2023  润新知