如何存储返回的变量以便其他页面能够使用 Python 和 Selenium 访问

问题描述

我有一个使用 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 (将#修改为@)