在用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("")
        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文件中的变量,方便下次更改。

python使用外部PY文件的变量的更多相关文章

  1. python中__init__.py文件的作用

    问题 在执行models.py时,报ImportError:No module named transwarp.db的错误,但明明transwarp下就有db.py文件,路径也没有错误.真是想不通.后 ...

  2. python进阶之py文件内置属性

    前言 对于任何一个python文件来说,当python解释器运行一个py文件,会自动将一些内容加载到内置的属性中:一个模块我们可以看做是一个比类更大的对象. 查看模块的内置属性 我们先创建一个典型的p ...

  3. 转载:【学习之家】Python中__init__.py文件的作用

    Python中__init__.py文件的作用详解 Python中__init__.py文件的作用详解 来源:学习之家 作者:xuexi110 人气:357 发布时间:2016-09-29 摘要:__ ...

  4. python如何编译py文件生成pyc、pyo、pyd以及如何和C语言结合使用

    python执行py文件的流程 当我们执行一个py文件的时候,直接python xx.py即可,那么这个流程是怎么样的呢.先说明一下,python执行代码实际上是先打开文件然后执行里面的代码,所以文件 ...

  5. Python中__init__.py文件的作用详解

    转自http://www.jb51.net/article/92863.htm Python中__init__.py文件的作用详解 http://www.jb51.net/article/86580. ...

  6. python批量运行py文件

    import os path="E:\\python" #批量的py文件路径 for root,dirs,files in os.walk(path): #进入文件夹目录 for ...

  7. 利用Python读取外部数据文件

      不论是数据分析,数据可视化,还是数据挖掘,一切的一切全都是以数据作为最基础的元素.利用Python进行数据分析,同样最重要的一步就是如何将数据导入到Python中,然后才可以实现后面的数据分析.数 ...

  8. python中一个py文件如何调用其他py文件中的类和函数

    HelloWorld  文件名称  Hello是类 from HelloWorld import Hello >>> h = Hello() >>> h.hello ...

  9. python中执行py文件出错(提示File “<stdin>”,line 1,SyntaxError:invalid syntax)

    解决办法: 上图中已通过输入python进入了python运行环境,出现>>>时候的不能再用python z.py 来运行hello.py文件: 应该通过exit()退出当前pyth ...

随机推荐

  1. Hadoop专业解决方案之构建Hadoop企业级应用

    一.大数据的挑战 大数据面对挑战是你必须重新思考构建数据分析应用的方式.传统方式的应用构建是基于数据存储在不支持大数据处理的基础之上.这主要是因为一下原因: 1.传统应用的基础设施是基于传统数据库访问 ...

  2. 解决Qt Creator下 undefined reference to 'qmain(int,char**)'的问题

    Qt Creator运行以下程序: #include <QTextStream> #include <QList> int main(void) { QTextStream o ...

  3. Eclipse/MyEclipse连接Hadoop集群出现:Unable to ... ... org.apache.hadoop.security.AccessControlExceptiom:Permission denied问题

    问题详细如下: 解决办法: <property> <name>dfs.premissions</name> <value>false</value ...

  4. 自定义动画animate()

    在上一节总结了一下3中类型的动画,其中show()和hide()方法会同时修改元素的多个属性,fadeOut()和fadeIn()方法只会修改元素的不透明度,而slideDown()和slideUp( ...

  5. java web 程序---缓冲代码

    在写验证码的时候,我的验证码是随机的,所以每次点击时,刷新页面,验证码都会改变. 可是,当我点击刷新时,验证码不变,说明,没有缓冲. 这里差三行代码. response.setHeader(" ...

  6. 杂项:Office Visio

    ylbtech-杂项:Office Visio Office Visio 是一款便于IT和商务人员就复杂信息.系统和流程进行可视化处理.分析和交流的软件.使用具有专业外观的 Office Visio ...

  7. JAVA的非对称加密算法RSA——加密和解密

    原文转载至:https://www.cnblogs.com/OnlyCT/p/6586856.html 第一部分:RSA算法原理与加密解密 一.RSA加密过程简述 A和B进行加密通信时,B首先要生成一 ...

  8. jpa 一对一

    实体   Manager package entity; import javax.persistence.Column; import javax.persistence.Entity; impor ...

  9. Mysql 索引优化 - 2

    永远小表驱动大表(小数据驱动大数据) in exists区别, SELECT * FROM A WHERE A.id in (SELECT id FORM B) 若A表数据大于B表数据用in SELE ...

  10. linux c++下载http文件并显示进度<转>

    #include <stdio.h> #include <sys/types.h> #include <sys/socket.h> #include <net ...