• 记第一个完整的自动化测试脚本


    最近就是有看到说一个完整的自动化脚本是什么样子,这是我学习且实操了一遍后,进行的一些总结,有不完善的地方,希望大家多多指教。

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

     在写自动化脚本之前,需要明确手动脚本的步骤,然后去拆分到具体没一个步骤做什么,考虑好了之后,才开始动手去写脚本。我把这个测试场景分拆如下步骤:

    1) 启动后浏览器,这里我们用Chrome

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

    3) 定位搜索输入框,记录下输入框元素的xpath表达式://*[@id='kw']

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

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

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

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

    如果你没有安装Chrome,那就用Firefox。

    1) 桌面新建一个记事本,命名并保存为FirstScript.py

    2) 输入如下代码片段到FirstScript.py,保存

    3) 打开cmd窗口,切换到桌面路径下,然后通过python FirstScript.py 来执行脚本。 

    FirstScript.py脚本如下

    # coding=utf-8
    import time
    from selenium import webdriver
    
    driver = webdriver.Chrome() # 打开chrome,如果没有安装chrome,换成webdriver.Firefox()
    driver.maximize_window() # 最大化浏览器窗口
    driver.implicitly_wait(8) # 设置隐式时间等待
    
    driver.get("https://www.baidu.com") # 地址栏输入百度地址
    driver.find_element_by_xpath("//*[@id='kw']").send_keys("selenium") # 搜索输入框输入Selenium
    driver.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")
    driver.find_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()

    更加精确的回答与答复可以加我们1085991341。

    这里只利用 两个等号(==)来判断两个字符串是否完全相同,有时候我们还需要对得到的字符串进行切割操作,才能进行去匹配,以后再介绍字符串切割处理在自动化测试结果判断中的使用。

    总结:自动化测试最难的在于如何去写断言,如何判断测试结果是否通过。

    建议: 以上代码脚本举例,最好是去一行一行抄写,不要直接复制、黏贴到记事本中。因为,在书写脚本过程,肯定会犯一些语法和输入错误,在调试脚本过程,通过观察报错信息,直到解决问题,可以顺利执行脚本,得到和收获就会很多。

    以上,希望对你有帮助,有被帮助到的朋友欢迎点赞,评论。

  • 相关阅读:
    java笔试面试题目收集(一)
    java--用 * 打印出各种图形(新手请进)
    TextView属性大赏
    Meterial Or Ios ?
    android开发之后端云bmob的使用
    关于android开发自定义view
    第二周作业——面向过程(或者叫结构化)分析方法与面向对象分析方法到底区别在哪里?
    移动APP开发使用什么样的原型设计工具比较合适?
    测试
    转:nohup命令及其输出文件
  • 原文地址:https://www.cnblogs.com/Chaqian/p/12781829.html
Copyright © 2020-2023  润新知