zoukankan      html  css  js  c++  java
  • 自动化测试---selenium


    selenium

    1.Selenium自动化测试框架

          框架(framework)是一个框子——指其约束性,也是一个架子——指其支撑性。是一个基本概念上的结构,用于去解决或者处理复杂的问题。
    	
          框架是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是                                        
          目的方面给出的定义。
    	
          框架,其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。简单说就是使用别人搭好的舞台,你来做表演。
    

    2.Selenium概述

    Selenium---webdriver工作原理

    3.Selenium IDE

          Selenium的IDE(集成开发环境)是一个易于使用的Firefox插件,用于开发Selenium测试案例。它提供了一个图形用户界面,用于记录使用Firefox浏览器,用来学习和使用Selenium用户操作,但它只能用于只      
          用Firefox浏览器不支持其它浏览器。
    
    

    IDE简介

    3.Selenium API基础

    浏览器驱动

    库的导入

    	from selenium import  webdriver
    

    创建浏览器对象

    driver = webdriver.xxx()
    使用dir(driver)查看方法

    浏览器尺寸相关操作

    maximize_window() 最大化


    get_window_size() 获取浏览器尺寸

    set_window_size() 设置浏览器尺寸

    浏览器位置相关操作

    get_window_position() 获取浏览器位置

    set_window_position(x,y) 设置浏览器位置

    浏览器的关闭操作

          close()			关闭当前标签/窗口
    
          quit()			关闭所有标签/窗口
    

    页面请求操作

          driver.get(url)			请求某个url对应的响应
    
          refresh()				刷新页面操作
    
          back()				回退到之前的页面
    
          forward()				前进到之后的页面
    

    获取断言信息的操作

          current_url                       获取当前访问页面url
    
          title				获取当前浏览器标题
    
          get_screenshot_as_png()           保存图片
    
          get_screenshot_as_file(file)	直接保存
    		
          page_source			网页源码
    

    元素的定位

          1)元素定位方法的分类(调用方式):
    		
    		1.直接调用型(推荐方式)
    			driver.find_element_by_xxx(value)
    		
    		2.使用By类型(需要导入By)
    			from selenium.webdriver.common.by import By
    			driver.find_element(By.xxx,value)
    

    元素定位方法的分类(按定位方式):

    元素的操作

    元素的相关操作,一般要先获取到元素,再调用相关方法
    	element = driver.find_element_by_xxx(value)
    	
    	1)点击和输入
    
    		点击操作
    			element.click()
    		
    		清空/输入操作(只能操作可以输入文本的元素)
    			element.clear()			清空输入框
    			element.send_keys(data)		输入数据
    	
    	2)提交操作
    		element.submit()		
    
    个性签名:独学而无友,则孤陋而寡闻。做一个灵魂有趣的人!
  • 相关阅读:
    Effective C++学习笔记:确定基类有虚析构函数
    WPF和Silverlight程序中DispatcherTimer与Timer的区别
    2011.12.23
    WP7里的JSON解析
    2011.11.16
    2011.12.21
    2011.11.18
    2011.11.17
    2011.11.24
    WebClient does not support concurrent I/O operations 错误的解决办法
  • 原文地址:https://www.cnblogs.com/DunayueBlog/p/13741550.html
Copyright © 2011-2022 走看看