Welcome to my gitee

安装Selenium自动化工具,在Firefox上安装IDE插件,搭建Selenium运行环境

  • Selenium自动化工具
    • Selenium
      • Web 自动化工具
      • Thought Works, Jason Huggins
      • Selenium主要模块
        • Selenium WebDriver
        • Selenium IDE
        • Selenium Grid
      • Selenium主要特点
        • 开源,免费
        • 功能强大
        • 简单灵活
        • 跨平台
          • Windows
          • Linux
          • Mac
        • 多浏览器支持
          • Chrome
          • Firefox
          • Edge
          • IE
          • Safari
          • ...
        • 多语言支持
          • Python
          • Java
          • C
          • JavaScript
          • ...
    • IDE
      • 在Firefox安装IDE插件
        • 安装火狐浏览器
        • 打开附加组件管理器,搜索 IDE
        • ,在搜索结果中找到IDE, 然后添加即可
      • 使用IDE
        • 启动ide,并创建测试项目
        • 添加项目名
        • 添加项目地址
        • 点击START RECORDING后,会打开一个新页面,你就可以开始录制工作了
        • 录制完成后,点击停止录制按钮
        • 给你的测试取一个名字
        • 选中测试,点击播放按钮,就可以重放刚刚录制的操作了
        • 也可以将刚刚录制操作导出为代码
    • 搭建Selenium运行环境
      • 安装ChromeDriver
        • 查看Chrome浏览器的版本
        • 将下载的驱动解压到PATH环境变量指定的目录下即可
        • 配置Path环境变量
          • 计算机->属性->高级系统设置->环境变量->PATH->编辑
      • 安装Python的Selenium模块
        • pip install selenium
        • 补充: 安装python镜像:pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
      • 测试系统环境
        • demo01_测试安装环境.py
    • 元素定位
      • 定位方式
        • ''' id 定位 '''
          • element = driver.find_element(By.ID, 'kw')
        • ''' name 定位'''
          • driver.find_element(By.NAME, 'wd').send_keys('足球')
        • ''' class_name定位 '''
          • driver.find_element(By.CLASS_NAME, 's_ipt').send_keys('篮球')
        • ''' tag_name 定位'''
          • driver.find_element(By.TAG_NAME, 'input').send_keys('天地人')
        • ''' link_text 定位'''
          • driver.find_element(By.LINK_TEXT, '新闻').click()
          • 只能用于超链接元素的文本定位
          • 精确文本定位(全部的文本都必须匹配)
        • ''' partial_link_text定位'''
          • driver.find_element(By.PARTIAL_LINK_TEXT, '数读十九届').click()
          • 只能用于超链接元素的文本定位
          • 模糊文本定位(部分文本匹配就可以)
        • ''' xpath 定位 '''
          • 通用定位方式,利用元素的xml路径来进行定位
          • 绝对定位
            • /html/body/div[1]/div[1]/div[5]/div/div/form/span[1]/input
            • 绝对定位是从一个 / 开始写
            • 对于某个特定的元素来说,它的绝对路径是唯一的
            • 可以从浏览器中直接复制: Copy full XPATH
          • 相对定位
            • //*[@id="kw"]
            • 相对定位从2个 // 开始写
            • 对于某个特定的元素来说,它的相对路径是不唯一的
            • * 是通配符,代表任意元素
            • [ ]表示条件
              • @表示属性
                • driver.find_element(By.XPATH, '//*[@id="kw"]').send_keys('三命通会')
              • text()表示文本
                • driver.find_element(By.XPATH**,** '//*[text()="新闻"]').click()
              • contains(),表示包含
                • driver.find_element(By.XPATH, '//*[contains(text(),"数读十九届")]').click()
      • 定位原则
        • 当我们定位单个元素时,如果有多个元素都满足定位条件,则默认返回找到的第一个
      • 常见异常
        • ElementNotInteractableException: Message: element not interactable
          • 元素不可交互异常
          • 定位到了错误的元素
        • NoSuchElementException: Message: no such element
          • 没有这个元素异常
          • 定位方式错误
          • 页面没有加载完成
    •  
posted @ 2022-01-11 00:58  提一壶月光  阅读(376)  评论(0编辑  收藏  举报
1