selenium简介及安装方法

1. selenium 介绍

    Selenium是一个对Web项目进行自动化测试的框架(工具)。一种化学元素(硒)

1.1 Selenium特点

  1. 开源:源代码开放、方便进行二次开发
  2. 跨平台:linux、windows、mac
  3. 支持多种浏览器:Firefox、Chrome、IE、Edge、Opera、Safari等
  4. 支持多种语言:Python、Java、C#、JavaScript、Ruby、PHP等
  5. 成熟稳定:目前已经被很多大公司广泛使用
  6. 功能强大:能够实现类似商业工具的大部分功能

     selenium官网:https://www.selenium.dev/ 

                          https://www.selenium.dev/selenium/docs/api/py/

     selenium文档网:https://selenium-python.readthedocs.io/getting-started.html

1.2 selenium 架构图

    

1.3 selenium 三大组件

  • Selenium IDE:是嵌入到Firefox浏览器中的一个插件,实现简单的浏览器操作的录制与回放功能
  • Selenium Grid:就是用来实现分布式执行测试用例,提高用例执行的效率
  • Selenium WebDriver : webdriver(selenium2) 是一种用于web 应用程序的自动化测试工具,它提供了一套友好的API。webdriver 完全就是一套类库,不依赖任何测试框架,除了必要的浏览器驱动,不需要启动其他进程或者安装其他程序

2. selenium python版本安装

2.1 环境配置步骤:

  • 准备好Python环境
  • 准备好selenium环境
  • 下载浏览器对应的driver版本
  • driver配置环境变量
  • 在Python中import对应的依赖

2.2 selenium安装

    前提:

  • 配置好Python环境
  • 配置好pip工具

   安装:

  • pip install selenium

        

2.3 安装driver

     2.3.1 打开官网:https://www.selenium.dev/documentation/en/webdriver/driver_requirements/

    

    2.3.2 可以选择与自己浏览器匹配的版本进行下载,然后解压( unzip chromedriver_mac64.zip ) 

    2.3.3 然后运行 :   ./chromedriver ,就可以查看到浏览器驱动的版本

   

   2.3.4 需要把文件copy 到 目录:/usr/local/bin下(为了配置环境变量,此目录下的所有文件都会被加载到环境变量中)

           发现在命令行copy的时候老是报权限的问题,所以,可以先 open /usr/local/bin,用访达打开后,再把文件copy进去

   这样就可以在任意目录下运行 chromedriver 命令了

3. selenium 学习方法

 3.1    官网文档:https://python-selenium-zh.readthedocs.io/zh_CN/latest/2.%E5%BC%80%E5%A7%8B/

 3.2   用例编写的关键要素:

  • 导入依赖
  • 创建driver对象
  • 执行自动化步骤
  • 断言

 3.3  演示脚本

# -*- coding: utf-8 -*-
# @Time    : 2020/10/19 16:36
# @Author  : 饭盆里
# @File    : test_testcase.py
# @Software: PyCharm
# @desc    : 编写UI自动化测试用例
from time import sleep
from selenium import webdriver

class TestTestcase():
    def setup_class(self):
        print('*'*20+'setupclass'+'*'*20)
        self.driver = webdriver.Chrome()
        self.driver.get('https://testerhome.com/')
        self.driver.maximize_window()
        self.driver.implicitly_wait(5)


    def teardown_class(self):
        print('*'*20+'teardownclass'+'*'*20)
        self.driver.quit()

    def test_case(self):
        self.driver.find_element_by_xpath('//*[@id="main-nav-menu"]/ul/li[4]/a').click()
        sleep(3)
        print('hi')

 

 

 

posted @ 2018-05-11 12:29  pretend_smile  阅读(538)  评论(0)    收藏  举报