zoukankan      html  css  js  c++  java
  • 阿里大牛教你基于Python的 Selenium自动化测试示例解析

    今天给大家讲解的是自动化测试示例的解析,如有不对的地方请多多指教。

    自动化测试示例如下:

    from selenium import webdriver

      from selenium.webdriver.common.keys import Keys

      driver = webdriver.Chrome()

      driver.get("https://pypi.org/")

      print(driver.title)

      assert 'Python' in driver.title

      elem = driver.find_element_by_name('q')

      elem.clear()

      elem.send_keys('deniro')

      elem.send_keys(Keys.RETURN)

      assert 'No results found.' not in driver.page_source

      driver.close()

       解析如下:

    (1)、首先导入 webdriver 与 Keys 模块。selenium.webdriver 模块包含驱动浏览器的实现方法。 支持Firefox、Chrome、IE 浏览器。 Keys 模块包含键盘中的键,诸如F1,ALT 等。

       from selenium import webdriver

       from selenium.webdriver.common.keys import Keys

    (2)、接下来,创建 Chrome WebDriver 实例。

     driver = webdriver.Chrome()

      driver.get 方法会在浏览器中打开指定的 URL 页面。 当页面完全加载后(会触发 “onload” 事件),才会把控制权交给我们写的测试脚本。

      注意: 如果如果加载的页面,使用了很多 AJAX 请求,那么 WebDriver 可能不知道完全加载的时间点。

    (3)、然后是一个断言,测试网页标题(即 H5 中的“Python” 字符串:

     assert 'Python' in driver.title

    (4)、 WebDriver 提供了多种查找元素的方法,形如 使用 find_element_by_*。  例如,这里使用了 find_element_by_name 方法通过其标签的 name 属性,来查找输入框元素 。

     elem = driver.find_element_by_name('q')

    (5) 、然后,我们模拟键盘操作,在输入框中输入字符。 那些特殊字符可以使用 selenium.webdriver.common.keys 来输入,比如示例中的回车符。  有些输入框有设置默认值,所以我们首先清除输入框中的默认值,以避免影响预期结果:

       elem.clear()

      elem.send_keys('deniro')

      elem.send_keys(Keys.RETURN)

    如果对软件测试、接口测试、自动化测试、面试经验交流。感兴趣可以加软件测试交流:1085991341,还会有同行一起技术交流。

    (6)、回车后,浏览器就会调用后端服务,执行搜索操作,最后返回搜索结果。我们可以在返回的页面源代码中,测试我们所希望或不希望看到的字符:

     assert 'No results found.' not in driver.page_source

    (7)、最后关闭浏览器 。  也可以调用 quit 方法实现类似功能,但它们之间有一些区别。 quit 方法会退出整个浏览器,而 close 方法只会关闭浏览器中的一个选项卡,如果仅打开一个选项卡,那么大多数现代浏览器也会整个关闭 。

     driver.close()

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

  • 相关阅读:
    [LeetCode]2. Add Two Numbers链表相加
    Integration between Dynamics 365 and Dynamics 365 Finance and Operation
    向视图列添加自定义图标和提示信息 -- PowerApps / Dynamics365
    Update the Power Apps portals solution
    Migrate portal configuration
    Use variable to setup related components visible
    Loyalty management on Retail of Dynamic 365
    Modern Fluent UI controls in Power Apps
    Change screen size and orientation of a canvas app in Power App
    Communication Plan for Power Platform
  • 原文地址:https://www.cnblogs.com/Chaqian/p/12796501.html
Copyright © 2011-2022 走看看