zoukankan      html  css  js  c++  java
  • Webdriver(Selenium)之最佳实践

    一、测试用例的组成

    3A法则:

      Arrangement——数据准备

      Action——步骤

      Assert——断言

     

    二、表单元素定位最佳实践

    name优先

    id其次

    css selector

    class + index

    xpath或其他

     

    三、富文本赋值

    应用js方法:

      首先访问iframe

      再访问iframe中的contentWindow

      再访问body

      使用innerText属性进行赋值(innterHtml)

     

    1 def set_content(self, content):
    2         js = "document.getElementById('content_ifr').contentWindow.document.body.innerHTML = '%s'" %(content)
    3         self.dr.execute_script(js)

     

    四、封装方法——更容易阅读

     1 # -*- coding=utf-8 -*-
     2 from selenium import webdriver
     3 import unittest
     4 
     5 class Test(unittest.TestCase):
     6     def setUp(self):
     7         dr = webdriver.Chrome()
     8         dr.get("http://www.baidu.com")
     9 
    10 
    11     def by_id(self, the_id):
    12         return self.dr.find_element_by_id(the_id)
    13 
    14     def by_css(self, css):
    15         return self.dr.find_element_by_css_selector(css)
    16 
    17     def by_name(self, name):
    18         return self.dr.find_element_by_name(name)
    19     
    20     def by_js(self, js):
    21         return self.dr.execute_script(js)
    22 
    23     def tearDown(self): #每个用例执行之后
    24         self.dr.quit()

     

    五、js里的jquery事件

    js = "document.querySelectorAll('#submit')[0].click()"
    driver.execute_script(js)

    点击id=submit

  • 相关阅读:
    复杂数据结构(二)树
    复杂数据结构(一)树
    简单数据结构(五)串和数组
    简单数据结构(四)栈和队列的简单应用
    简单数据结构(三)栈
    非零环绕
    canvas裁剪
    canvas图层
    canvas阴影与渐变
    canvas图形变换
  • 原文地址:https://www.cnblogs.com/hlphlp/p/6855821.html
Copyright © 2011-2022 走看看