原创 如何實現在一個測試類裏只登錄和退出登錄一次

在進行自動化測試的時候,往往只需要登錄一次和測試完成的以後,退出登錄一次就好,不需要每執行一個測試用例,都登錄和退出。用python 的classmethod 裝飾器就能實現,僞代碼如下: import unittestclass XXX(

原创 python 產生隨機數,隨機字符串

import random#隨機整數:print random.randint(1,50)#隨機選取0到100間的偶數:print random.randrange(0, 101, 2)#隨機浮點數:print random.random(

原创 selenium的常見異常

Exceptions(異常)Python 自帶的異常,所有異常的基類。異常:  selenium.common.exceptions.ElementNotSelectableException(msg=None, screen=None,

原创 WebDriverWait智能等待查找元素,提高代碼的執行效率,不浪費時間,減少代碼量

from selenium.webdriver.support.wait import WebDriverWait智能等待10s之後獲取元素,獲取的是單個元素def find_element(self, locator):WebDriver

原创 XPath學習:軸

  XPath 是一門在 XML 文檔中查找信息的語言。XPath 可用來在 XML 文檔中對元素和屬性進行遍歷。     XPath 是 W3C XSLT 標準的主要元素,並且 XQuery 和 XPointer 同時被構建於 XPath

原创 selenium 頁面滾動操作

//移動到元素element對象的“頂端”與當前窗口的“頂部”對齊   driver.execute_script("arguments[0].scrollIntoView();", element);    driver.execute_

原创 Python 函數當中的不定參數 *args 和**kwargs 姐妹花

*args 和**kwargs,*args 可以當作可容納多個變量組成的元組,而**kwargs可當做容納多個key和value的dictionary ,所以*args 沒有key值,**kwargs有key值。 舉個例子:def test

原创 如何過濾掉隱藏的元素

dirver.find_element_by_xpath('//form//input[@class=\'el-input__inner\'and not(contains(@style,\'display:none\'))]'注意 not

原创 通過 css_selector 定位元素

常用符號數碼:# 表示id. 表示class> 表示子元素,層級一個空格也表示一個子元素,但是所有的子元素相當於xpath中的相對路徑,舉個例子driver.find_element_by_xpath('//div//inptut'),可以

原创 向右滑動滾動條

基本的思路是選中要移動的滾動條,然後按鍵盤的向右鍵(END鍵)移動來實現滾動,向右滾動的效果不是很明顯,記錄下,就當學習下:from selenium.webdriver.common.keys import Keys#找到要移動的滾動條e

原创 元素的   is_enable()、is_displayed()和is_selected()

1、以上三個爲布爾類型的函數 2、is_enable()用於存儲input、select等元素的可編輯狀態,可以編輯返回true,否則返回false3、is_displayed()()本身這個函數用於判斷某個元素是否存在頁面上(這裏的存在不

原创 python 產生隨機數,隨機字符串

import random#隨機整數:print random.randint(1,50)#隨機選取0到100間的偶數:print random.randrange(0, 101, 2)#隨機浮點數:print random.random(

原创 expected conditions

在site-packages\selenium\webdriver\support 目錄下找到了expected_conditions,這些常用的斷言都在expected_conditions.py 文件裏面找到,先來看下這個文件下這些類的

原创 用Python的高階函數寫日誌,並且捕獲異常信息

import loggingimport timeimport tracebackfrom selenium import webdriverdef log(test_case_func): def wraps(*args, **keywo

原创 不用js代碼,在selenium裏面實現鼠標懸停

一種簡單的方式實現鼠標懸停,用selenium自帶的Actions類中的 move_to_element() 方法很難實現,因爲這個方法使得鼠標懸停一閃而過,不能達到懸停的效果。還是以百度首頁右上角的按個“設置”爲例,找到該按鈕下的“搜索設