问题描述
我有一个使用 Python、Pyest 和 Selenium 的自动化框架。它使用页面对象模型
在一个页面上,我在一个单独的类中使用 Faker 创建数据。
我的高水平测试如下:
1. Input Data on Page 1 - create
2. I then save the data which takes me to Page 2 - list which is a summary of all records
3. entered on Page 1 - create
第 1 页 - 创建页面对象有一个名为 EnterCandidate 的方法 - 此处显示正在输入的姓氏的片段
def enterValidCandidate(self):
self.enterSurname(self.faker.surname)
EnterSurname 是一种 selenium 发送密钥方法,它接收姓氏文本以发送密钥。
它使用 faker 类生成姓氏并返回到此处的第 1 页页面对象:
from faker import Faker
import logging
import utilities.custom_logger as cl
class FakeData(object):
f = Faker()
log = cl.customLogger(logging.INFO)
def surname(self):
surname = self.f.last_name()
self.log.info("Surname created is " + surname)
return surname
我遇到的问题是我需要捕获姓氏,将其存储为具有某种全局范围的变量,可用于 Page 2 - Page 对象,我可以使用它来搜索必要的记录,也断言。我猜之后最好也清除这个变量。
我的 assert 方法在第 2 页上。它使用一种方法 (verifyTextMatch) 将元素上的实际文本 (actualText) 与伪造者生成的姓名 (surname) 进行比较 - 我只需要一种获取该姓氏的方法进入 verifyCandidateRecord 方法。
def verifyCandidateRecord(self):
actualText = self.getText(self._grid_results_line1_surname,locatorType="xpath")
result = self.util.verifyTextMatch(actualText,surname)
return result
我想全局变量可能不是答案,我想知道是否可以使用 init 声明传递它,但我再次不确定这将如何工作。
对此的任何帮助将不胜感激
谢谢
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)