首页 > 编程语言 >Selenium + Python 自动化测试01(准备篇)

Selenium + Python 自动化测试01(准备篇)

时间:2024-08-02 16:56:07浏览次数:11  
标签:01 浏览器 Python Selenium driver 测试 安装 selenium

        本篇文章主要讲述Selenium + Python 自动化测试-准备篇。主要时相关软件介绍,下载,安卓等。

一、Selenium 简介

        1、Selenium 是什么?

        官网描述:

        Primarily, it is for automating web applications for testing purposes, but is certainly not limited to just that…

        1)Selenium  是一个用于Web应用程序自动化测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样;

        2)支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等;

        3)支持的语言:  .Net、Java、Perl、Python、C#等不同语言的测试脚本。

        

        2、Selenium 优点

        1)Selenium  开源,可以在其基础上进行二次开发;

        2)Selenium 测试可以在 Windows、Linux 和 Macintosh上的 Internet Explorer、Chrome和 Firefox 中运行。其他测试工具都不能覆盖如此多的平台。便于发现兼容性的bug;

        3)支持的语言较多:  .Net、Java、Perl、Python、C#等不同语言的测试脚本

、自动化环境搭建

        1、安装Python

        1)登录网站:https://www.python.org/ 点击download选择版本下载

        2)选择对应的系统使用的软件包:这里选择Windows 使用可以执行的安装包,获取到名字:python-3.7.0-amd64.exe

        3)安装python没有什么特殊的,和日常安装软件一样。

注意:安装时选择安装界面的“Add Python 3.x to PATH”进行勾选,

避免再次配置环境变量;

安装完成后通过Windows命令提示符CMD输入“python”,查看是否

安装成功,如下图所示:

2、安装Selenium

1)方法1:命令行安装

Python3.x安装后就默认就会有pip(pip.exe默认在python的Scripts路径下),使用pip安装selenium:

pip install selenium

注意:安装时如果只输入包名,则默认安装当前库中的最新版本,如果想安装自己需要的版本,则需要在包名后面加上版本号,比如:pip install selenium==2.48.0

2)方法2:下载selenium安装包后手动安装

下载地址:https://pypi.org/project/selenium/

下载selenium安装包后手动安装

执行命令

3、下载对应的driver

        为什么要下载driver呢?这里就牵涉到selenium 工作原理。我们写了脚本,是通过driver去操作浏览器的,对应进行点击,输入,拖动等等的操作。

      1、驱动的下载地址如下: 需要浏览器和驱动版本对应         http://chromedriver.storage.googleapis.com/index.html

笔者对应的浏览器版本如下:

注意要下载匹配的driver,不然会报错,如下例子:

4、将driver一般放到和浏览器同一个文件夹

驱动解压后放置本机chrome浏览器文件路径里:

 三、环境验证

通过看是否可以自动打开浏览器地址来判断是否环境可用。测试代码如下:

# coding=utf-8
import time
import unittest
from selenium import webdriver

def driverfunc():
    return webdriver.Chrome("C:\\Users\\dewi\\AppData\\Local\\Google\\Chrome\\Application\\chromedriver.exe")

#使用unittest的框架,每个案例的标准形式
class LoginTest(unittest.TestCase):
    def setUp(self):
        self.driver = driverfunc()
        print("登录测试开始")
    #输入正确的密码登录成功
    def test_login_Y(self):
        driver = self.driver
        username = "standard_user"
        password = "secret_sauce"
        print("登录的用户名是:%s"%username)
        #登录
        driver.get("https://www.saucedemo.com/")
        driver.maximize_window()
        time.sleep(5)
        print("网址正常打开了啊")
    def tearDown(self):
        self.driver.quit()
        print("登录测试结束")

主要就是黄色底部分可以正常打开测试网站即可。测试结果如下:

以上准备工作就完成了,后续一步一步深入学习。争取早日用到实际工作中去。当然,也可能不为测试只是想学习python编程!欢迎小伙伴浏览指导,谢谢!

标签:01,浏览器,Python,Selenium,driver,测试,安装,selenium
From: https://blog.csdn.net/weixin_45999406/article/details/140873017

相关文章

  • 如何使用 Python 在 2D 曲面上切割 3D 体积?
    考虑3D中的闭合表面网格(mesh1),由两个合并块组成,如图所示。两个合并块,具有不同颜色的细分补丁。网格以STL文件形式给出,并被细分分成不同的补丁。每个面片都在STL文件中保存为单独的实体。此外,我有一个由STL文件给出的弯曲2D表面网格(......
  • Python教程(十):面向对象编程(OOP)
    目录专栏列表前言一、面向对象编程概述1.1类和对象1.2继承1.3多态1.4封装二、Python中的类和对象2.1定义类2.2`__init__`函数解释2.3创建对象三、继承3.1基本继承3.2创建子类对象四、多态五、封装六.访问限制七、综合实例结语专栏列表Python教程(一):环......
  • Qt C++ 调用 Python 之 PyObject* 数据类型转换
    整数:PyLong_FromLong和PyLong_AsLong类型检查函数:PyLong_Check()intcppInt=42;//C++整数转换为Python整数对象PyObject*pyInt=PyLong_FromLong(cppInt);//Python整数对象转换为C++整数longcppIntFromPy=PyLong_AsLong(pyInt);Py_DECREF(pyInt)......
  • Python 警告:重试(重试(总计=4,连接=无,读取=无,重定向=无,状态=无))
    我正在尝试pipinstall--upgradepip并保持收到此错误:WARNING:Retrying(Retry(total=4,connect=None,read=None,redirect=None,status=None))afterconnectionbrokenby'ProxyError('Cannotconnecttoproxy.',NewConnectionError('<......
  • iis安装数字证书ssl并实现http跳转https的301重定向
    iis安装数字证书ssl并实现http跳转https的301重定向为了增强网站的安全性,实现域名访问从HTTP自动跳转到HTTPS,您可以按照以下步骤操作:安装SSL证书:首先,您需要为您的网站获取一个SSL证书。这可以通过向证书颁发机构(CA)申请免费的证书(如Let'sEncrypt提供的证书)或购买商业证书来完成......
  • {Python} 有没有办法从函数中“提取”返回值变量并在其他地方使用它,而不调用原始函数?
    第一次在这里发帖。对python来说相对较新,我正在开发一个程序,它基本上是一个随机故事生成器,用于学习语言、发展技能并添加到我的投资组合中。我有一个主文件(最初启动该程序)、一个简介文件(对于介绍部分,获取用户名以及我试图“提取”user_name变量的位置),一个函数文件,其中包......
  • 为什么我在 Python 中的 Skip-Gram 实现会产生不正确的结果?
    我正在使用Python实现Word2Vec的Skip-Gram模型。然而,正如生成的嵌入及其可视化所示,我的模型似乎无法正常工作。这是嵌入的3D图的示例,它显示单词聚集在一起并重叠,因此很难区分它们:我怀疑问题在于我的实现而不是绘图函数。importnumpyasnpfromnltk.corpusimpor......
  • [AGC023F] 01 on Tree
    题意给定一棵\(n\)个节点的树,每个点都有权值\(0/1\),每次删除一个没有父亲的节点,并将权值放在序列末尾。求该序列最小的逆序对数。Sol删除不好做,只能\(\text{dp}\)。考虑把删除改成合并,每次合并\(x\)和\(fa_x\)表示将\(x\)紧接在\(fa_x\)后面。这样维护\(n\)个......
  • VS2019: LNK2019 无法解析的外部符号 __imp__invalid_parameter
    VS2019开发一个项目,报错:如下,errorLNK2001:unresolvedexternalsymbol__imp___CrtDbgReport errorLNK2001:unresolvedexternalsymbol__imp___invalid_parametererrorLNK2001:unresolvedexternalsymbol__imp___CrtDbgReportW errorLNK2001:unresolvedexterna......
  • 基于SpringBoot的智能购房推荐系统-09040(免费领源码)可做计算机毕业设计JAVA、PHP、爬
    Springboot智能购房推荐系统摘 要近年来随着我国经济的高速发展,房地产业也随之蓬勃发展,尤其是最近国家新出台的房改政策。鼓励居民购房,这对房产公司无疑是一个极好的发展势头。尤为重要的是,近几年随着信息技术和电子商务的快速发展,许多企业都开发了自己房产信息软件。智......