Selenium Python自动化测试学习知识积累-页面常用操作

Selenium自动化测试实践
本文通过使用Selenium和Python实现自动化测试案例,演示了如何启动Firefox浏览器、访问搜狗首页并进行一系列操作如刷新页面、调整窗口大小及位置等。
#encoding=utf-8
import unittest
from selenium import webdriver
import time

class BrowserTest(unittest.TestCase):
    def setUp(self):
        #启动浏览器
        self.driver =webdriver.Firefox(executable_path="F:\\Python\\Webdriver\\geckodriver.exe")

    def test_vistUrl(self):
        #访问网页
        self.driver.get("http://www.sogou.com")
        #刷新当前页面
        self.driver.refresh()

        #获取浏览器在屏幕中的位置
        position =self.driver.get_window_position()
        print("当前浏览器所在的横坐标:",position['x'])
        print("当前浏览器所在的纵坐标:",position['y'])

        #设置当前浏览器在屏幕上的位置
        self.driver.set_window_position(200,400)

        #获取当前浏览器的大小,返回字典类型
        sizeDict =self.driver.get_window_size()
        print("当前浏览器的窗口宽:",sizeDict['width'])
        print("当前浏览器的窗口高:",sizeDict['height'])

        #设置浏览器窗口大小
        self.driver.set_window_size(400,200)

        #获取页面title
        title =self.driver.title
        print("当前页面的title属性为:",title)

        #获取页面html源码
        pagesource =self.driver.page_source
        print(pagesource)

        #获取页面url地址
        url=self.driver.current_url
        print(url)
        self.assertEqual(url,"https://www.sogou.com/","当前网页地址和预期不符!")

        # 窗口最大化
        #self.driver.maximize_window()

    def tearDown(self):
        #退出浏览器
        self.driver.quit()
### Python 自动化测试基础知识 Python 是一种功能强大且易于学习的编程语言,在自动化测试领域具有广泛的应用。以下是关于 Python 自动化测试的一些基础知识点: #### 1. 环境准备 在开始编写自动化测试脚本之前,需要先搭建合适的开发环境。这通常包括安装 Python 解释器以及必要的库文件。例如,Selenium 是一个常用的用于 Web 测试的框架,可以通过 pip 工具轻松安装[^3]。 ```bash pip install selenium ``` #### 2. 基础概念 自动化测试的核心在于模拟用户的交互行为并验证系统的响应是否符合预期。对于 Web 应用程序来说,常见的操作包括页面加载、元素定位、数据输入和按钮点击等。这些都可以通过 Selenium 实现[^2]。 #### 3. 启动浏览器实例 为了执行自动化的 UI 测试,首先需要创建一个 WebDriver 的实例来控制目标浏览器的行为。下面是一个简单的例子展示如何初始化 Chrome 浏览器: ```python from selenium import webdriver driver = webdriver.Chrome(executable_path='/path/to/chromedriver') driver.get('http://www.example.com') # 打开指定URL print(driver.title) # 输出网页标题 driver.quit() # 关闭浏览器窗口 ``` 这段代码展示了如何利用 `webdriver` 来启动 Chrome 并访问特定网站,同时获取该站点的标题名称。 #### 4. 定位页面上的元素 找到要操作的对象是实现任何类型的 GUI 或者 Web 页面测试的第一步。可以依据 ID, Name 属性或者 XPath 表达式等多种方式去识别 HTML 文档中的节点: ```python element_by_id = driver.find_element_by_id('myId') # 使用ID查找元素 element_by_name = driver.find_elements_by_name('name') # 使用Name属性匹配多个对象列表 link_text_clickable = driver.find_element_by_link_text('Click Me').click() ``` 注意上述方法已被弃用,请改用更现代的方法如 CSS Selectors 或 XPaths 结合 find_element 方法调用。 #### 5. 输入表单数据与提交 一旦找到了正确的字段位置之后就可以向其中填入所需的信息再触发提交动作完成整个流程演示如下所示: ```python username_field = driver.find_element(By.NAME, 'username') password_field = driver.find_element(By.NAME, 'password') username_field.send_keys('testUser') password_field.send_keys('securePassword!') login_button = driver.find_element(By.ID, 'submitBtn') login_button.click() ``` 以上片段说明了怎样填充登录表格并通过点击按钮来进行身份认证过程。 #### 6. 处理动态内容 - 显性和隐性等待策略 当面对异步加载的内容时可能需要用到显式的条件判断配合 WebDriverWait 类型设置超时时间直到满足某些预定义标准为止;而另一种做法则是全局范围内应用固定的延时期间让所有请求都有足够的时间返回结果: ```python from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC try: element = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.CLASS_NAME , "dynamicContent")) ) finally: driver.quit() ``` 此部分强调了处理非即时反馈场景下的技巧以便于更加稳定可靠地运行我们的测试套件。 ### 总结 综上所述,从零开始掌握 Python 自动化测试并不困难,只需按照既定的学习路径逐步深入即可取得良好成效[^1]。除了理论知识外还需要不断实践积累经验从而提高解决问题的能力水平。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值