1. 程式人生 > >自動化測試學習 selenium學習第一天

自動化測試學習 selenium學習第一天

css html
1、html
HTML 指的是超文字編輯語言 (Hyper Text Markup Language)
不是一種程式語言,而是一種標記語言
標記語言是一套標籤
使用標記標籤來描述網頁

描述一級標題 描述二級標題 百度一下 定義超連結

我是一個段落

定義段落

單選框
複選框
提交按鈕 value屬性可更改顯示名稱
下拉選單

單選下拉選單 文字域 2、css input.class class選擇器 標籤.class input#id ID選擇器 標籤#id [attribute='屬性值'] 屬性選擇器 多個屬性就寫多個【】中括號 後代元素選擇器 祖先 後代{ } 子元素選擇器 父元素 > 子元素 h1 > strong 偽類 h1:nth-of-type(2) 第二個h1 兄弟元素中第二個 格式: 標籤:nth-of-type(2) send_keys需要寫unicode型別1

Xpath定位
/tag[]/tag[]/tag[@屬性=‘屬性值’ and @屬性 = ‘屬性值’]
例如:
//form/p[2]/input p[2]代表兄弟元素中的第二個

css_selector定位

import unittest
from selenium import webdriver
from time import sleep


class Tests(unittest.TestCase):

    def setUp(self):
        self.driver = webdriver.Chrome()
        # self.driver = webdriver.Firefox()
        self.driver.maximize_window()
        self.driver.get('file:///E:/share/20181106/html/form_css_selector.html')

    def tearDown(self):
        sleep(2)
        self.driver.quit()


    def test1(self):
        driver = self.driver
        # find_element_by_xxx() 定位一個元素
        # 匹配的元素有多個,返回頁面裡的第一個匹配的

        # 元素選擇器
        # el = driver.find_element_by_css_selector("input")

        # id選擇器
        # el = driver.find_element_by_css_selector("input#p")

        # class選擇器
        el = driver.find_element_by_css_selector("input.abc")
        # el = driver.find_element_by_css_selector("input[class='abc text-input']")
        el.send_keys('hello')
        # 屬性(attribute)選擇器
        # el = driver.find_element_by_css_selector("input[value='m']")
        # el.send_keys('hello')
        # el.click()

        # find_elements_by_xxx() 定位一組元素,返回一個元素物件的列表
        # 如果沒有匹配的元素,返回空列表
        # els = driver.find_elements_by_css_selector("input")
        # print type(els)
        # print len(els)
        # els[1].send_keys('123456')
import unittest
from selenium import webdriver
from time import sleep


class Tests(unittest.TestCase):

    def setUp(self):
        self.driver = webdriver.Chrome()
        # self.driver = webdriver.Firefox()
        self.driver.maximize_window()
        self.driver.get('file:///E:/share/20181106/html/form_css_selector.html')

    def tearDown(self):
        sleep(2)
        self.driver.quit()


    def test1(self):
        driver = self.driver
        # find_element_by_css_selector()
        # 後代元素選擇器
        driver.find_element_by_css_selector("form input#p").send_keys('hello')

        # 子元素選擇器
        # driver.find_element_by_css_selector("body > form > p:nth-of-type(2) > input").send_keys('hello')
        # driver.find_element_by_css_selector("p:nth-of-type(2) > input").send_keys('hello')

xpath定位

import unittest
from selenium import webdriver
from time import sleep


class Tests(unittest.TestCase):

    def setUp(self):
        self.driver = webdriver.Chrome()
        # self.driver = webdriver.Firefox()
        self.driver.maximize_window()
        self.driver.get('file:///E:/share/20181106/html/form_css_selector.html')

    def tearDown(self):
        sleep(2)
        self.driver.quit()


    def test1(self):
        driver = self.driver
        # find_element_by_xpath() 使用元素的xpath表示式匹配元素
        # //tag[]/tag[]/tag[@屬性='屬性值']
        # driver.find_element_by_xpath("//input[@id='p']").send_keys(u'你好')
        # driver.find_element_by_css_selector("input[id='p']").send_keys(u'你好')
        # driver.find_element_by_xpath("//input[@id='p' and @type='password']").send_keys(u'你好')
        # driver.find_element_by_xpath("//form/p[2]/input").send_keys(u'你好')

        # driver.find_element_by_xpath("//input[@class='abc text-input']").send_keys(u'你好')