对于iOS自动化,我有一个名为funclib.py的可重用脚本文件。该文件类似于:
if “iPad in device :
from iPad_resource import *
else:
from iPhone_resource import *
def fnCreateaccount(email,password,device):
wd.find_element_by_name("Create an Account").click()
wait("Create account”)
wd.find_element_by_xpath(r.email_field()).send_keys(email)
wd.find_element_by_xpath(r.password()).send_keys(password)
wd.find_element_by_name("Create account").click()
wd.find_element_by_name("Agree & Sign up").click()
wait("Create Vault")
if(wd.find_element_by_name(“Created Account").is_displayed()):
tcResPass(" Account is Created")
else:
tcResFail("Error in creating account")
return(email, password)
我有很多Testscript文件,对于每个测试脚本,设备都会有所不同。例如,initial.py是一个测试脚本文件
import os
from selenium import webdriver
from selenium.webdriver.firefox.webdriver import WebDriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
Device = “iPad 2 Retina”
def CreateNewAccountLogin():
email=generateemail(1,12)
password=get_password(letters,6)
fnCreateNA(email, password, device)
当我运行时,我收到的错误如下:
`device is not defined in funclib.`
如何将设备值传递给funclib.py?我无法将initial.py导入funclib,因为我有大约20个测试脚本文件。所以我需要导入一些没有意义的人。
你能帮我吗?答案 0 :(得分:0)
当您说Device = "iPad 2 Retina"
时,您在名为initial
的{{1}}模块中设置了一个局部变量。 Device
模块和funclib
模块具有不同的局部变量名称空间。要在initial
上设置变量,您必须通过说funclib
明确地。