转载

Selenium Webdriver自动化测试

一.模块化与类库

我们会清晰的发现在上面的脚本中,其实有不少内容是重复的;于是我们就考虑能不能把重复的部分 写成一个公共的模块,需要的时候进行调用,这样就大大提高了我们编写脚本的效率。

login.py

#登录模块 def login(): driver.find_element_by_id("tbUserName").send_keys("username") driver.find_element_by_id("tbPassword").send_keys("456123") driver.find_element_by_id("btnLogin").click()

quit.py

#退出模块 def quit_(): ..............

sample.py 测试用例:

#coding=utf-8 from selenium import webdriver import login,quit_ #调用登录、退出模块 driver = webdriver.Firefox() driver.get("http://wwww.xxx.com")  #调用登录模块 login.login()  #其它个性化操作 ......  #调用退出模块 quit.quit_()

注意,上面用例非完整代码。

通过阅读上面的代码发现,我们可以把脚本中相同的部分代码独立出来,形成模块或库;这样做有两 方面的优点:

一方面提高了开发效率,不用重复的编写相同的脚本;假如,我已经写好一个登录模块,我后续需要 做的就是在需要的地方调用,不同重复造轮子。

另一方面方便了代码的维护,假如登录模块发生了变化,我只用修改 login.py 文件中登录模块的代 码即可,那么所有调用登录模块的脚本不用做任何修改。

二.数据驱动

数据驱动是自动化的一个进步;从它的本意来讲,数据的改变(更新)驱动自动化的执行,从而 引起测试结果的改变。这显然是一个非常高级的概念和想法。其实,我们可直白的理解成参数化,输入数 据的不同从而引起输出结果的变化。你可以将测试中输入的数据,存放在txt、excel、csv等文件中。

原文  http://1.chaoxu.sinaapp.com/archives/3864
正文到此结束
Loading...