Notes20:实战-网站

本文详细介绍了使用Selenium进行网页自动化测试时的一些关键点,包括登录验证、浏览器设置、代码重构、页面定位与操作、元素交互、异常处理等。特别强调了断言的正确做法、等待原理以及如何利用PO模式提升测试用例的可读性和复用性。
摘要由CSDN通过智能技术生成

目录

1.登录断言:

1.URL:

2.登录进来的用户名

遇到的问题:

2.浏览器设置-免登录

3.复用性代码重构:

4.小技巧

5.怎么删除列表文章

6.删除列表文章的断言怎么写?

7.删除的用例怎么写:

8.selenium等待原理

9.把用户名和密码设置在环境变量里面

10.PO模式-测试用例里面只有流程和断言,没有定位


1.登录断言:

1.URL:

URL包含XXX;

因为IP和域名都可能会变化,所以这部分是不稳定的,不能放在断言里面

路径比较稳定,所以用

2.登录进来的用户名

页面右上角包含用户名;(包含判断,因为中英文下都可以用)

遇到的问题:

1.用例不执行------suit=unittest.defaultTestLoader.discover(start_dir=path) print(path)--默认查找的是文件名格式为pattern='test*.py' :表示用例文件名的匹配原则。星号“*”表示任意多个字符。(test*.py是以test开头),如果格式不对就会不执行该下的用例。

2.定位不到用户名元素------登录界面有iframe,需要切换iframe

3.登陆后URL获取的登录前的-----跳转有延时,需要加延时

4.Jason文件数据读取到其他文件参数了-----路径如果未指定,需要和测试文件在一个目录下,需要注意文件路径的指定。

5.封装switch_to.frame遇到的问题,明明用的Xpath,为什么提示ID不对:

 跟踪定位self.find_element发现方法里面返回的是数组,没有用到index.

修改如下,才执行通过。

6.封装 等待新的URL报错:

原因:获取当前URL的driver.current_ur后面不需要()

2.浏览器设置-免登录

selenium打开,每次都是全新的浏览器,等于重装系统后第一次打开浏览器的状态(某些软件的设置就会恢复默认,有的还弹出欢迎界面)。可以设置系统级级用户打开,不是每次都是全新用户。

session和local story都在profile文件里面 ,可以打开一个默认的profile

 可以实现免登录,以及所有配置都是之前配好的状态。不会没次都是全新的身份去打开浏览器。

PS:每次用selenium打开浏览器新建profile,C盘就会占用越来越多。所以可以把友好的配置先配置好。

3.复用性代码重构:

import xtext
from xtext import file_data,date_class
from xtext import case
from xtext.config import XTest


class emial163_Test(xtext.TestCase):

    @file_data("data.json",2)
    def test_email_login_scccess(self,username,password):
        self.open("https://mail.163.com/")
        self.switch_iframe(xpath="//*[@id=\"loginDiv\"]/iframe")
        self.send_text(text=username ,xpath="//*[@data-loginname=\"loginEmail\"]")
        self.send_text(text=password ,xpath="//*[@name=\"password\"]")
        self.click(xpath="//*[@id=\"dologin\"]")
        self.wait_new_u
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值