elementui页面设计-UI手动测试中的页面定位问题,终于有人替他们想到了!

2023-08-29 0 4,023 百度已收录

前言

这几天有人问我,UI手动测试中用到的页面定位元素应该存放在哪里?

我想说的是,如果使用PO设计模式来设计测试用例,可以将定位元素单独存储在每个页面或者一个目录中,并且新的key对应不同页面的不同名称的文件来存储定位方法。 。

当页面发生变化时,只需更改相应页面对应的定位表达式文件即可elementui页面设计,方便项目维护。

另一种是存放在配置文件下elementui页面设计,这样不知道如何手动测试的人也可以进行配置。 其实你可以根据自己的意愿来选择。

那么我来看看如何将其存储在配置文件中,如何读取并定位它?

elementui页面设计-UI手动测试中的页面定位问题,终于有人替他们想到了!

目录结构

测试地址:

测试步骤:

1、打开网址;

2、在搜索框中输入python;

3、点击搜索按钮;

4.判断页面源码中是否包含python。

文档说明:

示例代码

WebElement.ini:

[sogou]queryBox=id:queryqueryBtn=id:stb

elementui页面设计-UI手动测试中的页面定位问题,终于有人替他们想到了!

(左右滑动查看完整代码)

获取元素.py:

from selenium.webdriver.support.ui import WebDriverWaitimport configparserimport osfrom selenium import webdriverclass getElement():    '''    从配置文件中来获取定位信息    '''    def __init__(self):        self.elementIni = os.path.dirname(os.path.abspath(__file__))                          +r'WebElement.ini' # 配置文件所在目录    def getElement(self, driver, sogouSection, sogouOption):        try:             f = configparser.ConfigParser()            f.read(self.elementIni) # 读配置文件内容到内存中            locators = f.get(sogouSection, sogouOption).split(':')            # 获取定位方式            locaMethod = locators[0]           # 获取定位表达式            locaExpression = locators[1]            # 通过显示等待的方式获取页面的元素            element = WebDriverWait(driver,5).until(lambda x : x.find_element(locaMethod, locaExpression))        except Exception as e:            raise e        else:            return element
if __name__ == '__main__': ele = getElement() print(ele.elementIni) driver = webdriver.Firefox() driver.get('http://www.sogou.com') element = ele.getElement(driver, 'sougou', 'queryBox') element.send_keys('python')

(左右滑动查看完整代码)

搜狗Tc.py:

from selenium import webdriverimport unittestimport timefrom programDataSeparate.GetElement import getElementclass sogouTc(unittest.TestCase):    def setUp(self):        self.obj = getElement()        self.driver = webdriver.Firefox()        self.driver.get('http://www.sogou.com')    def testSoGou(self):        elementQuery = self.obj.getElement(self.driver, 'sogou', 'queryBox') # 搜索框        elementQuery.send_keys('python')        elementBtn = self.obj.getElement(self.driver, 'sogou', 'queryBtn') # 搜索按钮        elementBtn.click()        time.sleep(2)        self.assertTrue('python' in self.driver.page_source) # 断言    def tearDown(self):        self.driver.quit()
if __name__ == '__main__': unittest.main()

(左右滑动查看完整代码)

elementui页面设计-UI手动测试中的页面定位问题,终于有人替他们想到了!

总结

本例实现了程序和数据的分离。 首先从UI对象库文件WebElement.ini中获取搜狗首页需要操作的页面元素的定位方法和定位表达式。

然后在GetElement.py中获取页面元素的实例对象,最后返回给测试用例方法进行后续处理。

这样做的用处在于,虽然不会测试的人也可以配置用例,但是当定位表达式发生变化时,只需要改变配置文件中的定位,而不需要改变测试相关的代码。 其实这是相对来说的。 如果页面功能的操作步骤发生了变化那么就必须更改代码操作步骤。

结尾

原文链接:

本文经51Testing授权转载,转载文章所含文字以作者开头。 如有内容或版权问题,请联系51Testing删除。

-过去的回顾-

//

//

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 elementui elementui页面设计-UI手动测试中的页面定位问题,终于有人替他们想到了! https://www.wkzy.net/game/182406.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务