在用python和selenium编写登录等脚本时,一直都是给用户名和密码直接赋值。但是考虑到这样不便于管理,而且可能多个地方用到同一个变量,所以想把变量放在一个单独的文件中进行管理。
以登录脚本为例,我想引用外部文件的的用户名和密码直接赋值。
登录的脚本如下:
#coding=utf-8
import sys
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import unittest
class testlogin(unittest.TestCase):
def setUp(self):
self.driver=webdriver.Firefox()
self.driver.implicitly_wait(30)
self.base_url="http:XXX.XXX.XX"
def test_login(self):
driver=self.driver
driver.get(self.base_url) # Load page
driver.find_element_by_id("Logon_UserEmail").send_keys("meitian")
driver.find_element_by_id("Logon_Password").send_keys("123456")
driver.find_element_by_id("Logon_PostCode").send_keys("1234")
driver.find_element_by_css_selector("input.loginbutton").click()
if __name__=="__main__":
unittest.main()
这样的如果我想要修改用户名和密码,就需要找到对应的地方去修改,很繁琐,不利于修改参数。所以就引用了一个叫做parameter.py的文件。
以下为parameter.py的内容:
name="meitian"
password="123456"
然后修改登录脚本:
#coding=utf-8
import sys
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import unittest
import parameter
class testlogin(unittest.TestCase):
def setUp(self):
self.driver=webdriver.Firefox()
self.driver.implicitly_wait(30)
self.base_url="http:XXX.XXX.XX"
def test_login(self):
driver=self.driver
driver.get(self.base_url) # Load page
driver.find_element_by_id("Logon_UserEmail").send_keys("parameter.name")
driver.find_element_by_id("Logon_Password").send_keys("parameter.password")
driver.find_element_by_id("Logon_PostCode").send_keys("1234")
driver.find_element_by_css_selector("input.loginbutton").click()
if __name__=="__main__":
unittest.main()
这样就很方便的引用了parameter.py文件中的变量,方便下次更改。