selenium入门教程

目录

1、安装selenium

2、安装浏览器驱动

3、添加浏览器扩展selenium ide+录制操作流程

4、导出python文件,调整脚本,运行脚本


1、安装selenium

使用python自带的包管理器pip工具就可以下载selenium

pip install selenium #python2.X

pip3 install selenium #python3.X

2、安装浏览器驱动

Firefox浏览器驱动:geckodriver

Chrome浏览器驱动:chromedriver ,CNPM Binaries Mirror (npmmirror.com), taobao备用地址

IE浏览器驱动:IEDriverServer

Edge浏览器驱动:MicrosoftWebDriver

Opera浏览器驱动:operadriver

PhantomJS浏览器驱动:phantomjs

3、添加浏览器扩展selenium ide+录制操作流程

  • 搜索并添加浏览器扩展“Selenium IDE”
  • 用Selenium录制测试用例操作流程并生成代码

selenium入门教程_第1张图片

selenium入门教程_第2张图片

selenium入门教程_第3张图片

selenium入门教程_第4张图片

selenium入门教程_第5张图片

4、导出python文件,调整脚本,运行脚本

#run_test.py
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from time import sleep
from test_ import Test

#调用edge的驱动
service = Service('/usr/local/bin/msedgedriver')
# service = Service('/usr/local/bin/chromedriver')
service.start()
dr = webdriver.Remote(service.service_url)
#初始化Test类
test = Test()
#给类的实例注入webdriver实例
test.setup_method(dr)
#调用写好的测试脚本
test.test_()
#停顿3s
sleep(3000)
dr.quit()
#Test.py
# Generated by Selenium IDE
import pytest
from time import sleep
import json
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

class Test():
  def setup_method(self, method):
    # self.driver = webdriver.Chrome()
    self.driver = method
    self.vars = {}
  
  def teardown_method(self, method):
    self.driver.quit()
  
  def wait_for_window(self, timeout = 2):
    sleep(round(timeout / 1000))
    wh_now = self.driver.window_handles
    wh_then = self.vars["window_handles"]
    if len(wh_now) > len(wh_then):
      return set(wh_now).difference(set(wh_then)).pop()
  
  def test_(self):
    self.driver.get("https://www.baidu.com/")
    self.driver.set_window_size(1728, 994)
    self.driver.find_element(By.ID, "kw").click()
    self.driver.find_element(By.ID, "kw").send_keys("hcd")
    self.driver.find_element(By.ID, "su").click()
    self.vars["window_handles"] = self.driver.window_handles
    sleep(3)
    self.driver.find_element(By.CLASS_NAME,"c-title")[0].click()
    self.vars["win8557"] = self.wait_for_window(2000)
    self.driver.switch_to.window(self.vars["win8557"])
    self.driver.find_element(By.LINK_TEXT, "编辑").click()
    self.driver.find_element(By.ID, "TANGRAM__PSP_11__changePwdCodeItem").click()
    self.driver.find_element(By.ID, "TANGRAM__PSP_11__changeSmsCodeItem").click()
    self.driver.find_element(By.ID, "TANGRAM__PSP_4__closeBtn").click()
    sleep(300)
  

屏幕录制2023-03-13 20.10.55

你可能感兴趣的:(测试技术专项,selenium,测试工具)