> 技术文档 > 自动化测试---Selenium

自动化测试---Selenium

1.Selenium快速入门

        Selenium是一个开源的Web自动化工具,一般用于测试、爬虫、刷票等场景

        三个组件:

                Selenium IDE:浏览器插件,脚本录制

                Selenium WebDriver:让代码控制浏览器模拟用户操作,自动化测试必备组件

                Selenium Grid:分布式扩展,让自动化脚本在多个机器上运行

        特点:

                1.行业标准:WebDriver成为W3G标准

                2.兼容性强:

                        1.支持多语言:python、Java、c#、ruby

                        2.支持多浏览器:chrome、Firefox、edge、safari

                        3.支持多环境:Windows、macos、Linux

                3.生态比较成熟:

                        1.书籍、视频

                        2.Appium

                        3.pytest

2.Selenium环境搭建:

        python+pycharm+Selenium

pip install selenium

from selenium import webdriverdriver=webdriver.Chrome() #启动driver.get(\"https://www.baidu.com/\") #控制driver.quit() #关闭

 

结果:

没有报错

报错了 

        找不到浏览器

        找不到浏览器驱动

3.Selenium应用示例

        能够做什么:

                一般操作:访问、点击、输入

                上下滚动

                左右切换

                大小缩放(兼容性问题)

        1.两大对象:

                对象:面向对象

                Selenium最开始使用Java开发,几乎所有的用法都是面向对象的风格

                        WebDriver:浏览器的操作

                                页面跳转

                                大小调整

                                截图

                                滚动窗口

                                切换窗口

                                获取网址标题、内容、网址

                        WelElement:元素的操作

                                输入

                                点击

                                截图

                                获取内容、大小、位置

        2.八种定位:ID,NAME,CLASSNAME,TAG_NAME,LINK_TEXT,PARIAL_LINK_TEXT,CSS_SELECTOR,XPATH

               1.针对链接:LINK_TEXT、PARIAL_LINK_TEXT

                2.针对元素属性:ID、NAME、TAG_NAME、CLASSNAME

                3.万能方法:CSS_SELECTOR、XPATH

        同一个元素,可以使用不同的方式进行定位

        3.三大等待:隐式等待、显示等待、流程等待

                经典场景:等待元素加载完成

                        强制等待

                隐式等待

                显示等待

        4.pytest集成

pip install pytest-selenium

                 在谷歌浏览器生成测试报告

pytest --driver chrome --html report.html 

 

 

        5.测试框架封装:

                POM页面对象模型

                        POM=Page Object Model页面对象模型

                                使用对象,代表页面

                                使用对象中的属性,代表页面的元素

                                使用对象中的方法,代表页面的操作

                KDT关键字驱动测试

公民观察