• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
生若秋叶
gonna to be a designer,a designer of my life!!
博客园    首页    新随笔    联系   管理    订阅  订阅

网站测试总结

    前段时间忙网站的测试方案的确定,选择使用selenium RC作为测试工具,该测试工具主要分为两部分,selenium server 和selenium RC脚本(脚本采用Python编写,而且正确安装了selenium RC模块.),在脚本的编写中采用HTMLTestRunner.py进行测试报告的输出(将测试结果输出为html文件),下面说明在环境搭设和脚本编写中遇到的几个问题:

   1.环境搭设的问题.环境的搭设主要分为selenium Rc和server,其中rc采用Python的pip自动安装即可(前提是已经装好了setuptools和pip,同时安装的时候可能会提示编码问题,更改换代码的编码即可.安装命令pip install -U selenium,也可以尝试使用pycharm的插件实现),然后是server,他其实是一个jar文件,我们安装好java运行环境,然后使用java -jar jar文件名称即可.

  当需要对自己的网站进行测试的时候需要保持虚拟机和selenium server都是开启状态,而且虚拟机设置好了端口转发(修改vagrant配置文件),尤其是数据库要设置好用户的访问权限.

   2.脚本的编写问题,下面附上编写的脚本模版.

 1 #-*- coding: UTF-8 -*-
 2 from selenium import selenium
 3 import unittest,time,re,HTMLTestRunner
 4 import MySQLdb,os
 5 
 6 
 7 class Untitled(unittest.TestCase):
 8     def setUp(self):
 9         self.verificationErrors = []
10         self.selenium = selenium("localhost", 4444, "*chrome", "http://localhost:8080/account/register/")
11         self.selenium.start()
12 
13     #这里是测试案例
14     def test_untitled2(self):
15         sel = self.selenium
16         sel.open("/account/register/")
17         sel.type("id=id_username", "z")
18         sel.type("id=id_email", "a")
19         sel.type("id=id_password", "s")
20         sel.type("id=id_password_again", "d")
21         sel.click("//button[@type='submit']")
22 
23     def test_untitled(self):
24         sel = self.selenium
25         sel.open("/account/register/")
26         sel.type("id=id_username", "z")
27         sel.type("id=id_email", "a")
28         sel.type("id=id_password", "s")
29         sel.type("id=id_password_again", "d")
30         sel.click("//button[@type='submit']")
31 
32     def test_untitled1(self):
33         sel = self.selenium
34         sel.open("/account/register/")
35         sel.type("id=id_username", "z")
36         sel.type("id=id_email", "a")
37         sel.type("id=id_password", "s")
38         sel.type("id=id_password_again", "d")
39         sel.click("//button[@type='submit']")
40     #上面都是测试案例
41 
42 
43     def tearDown(self):
44         self.selenium.stop()
45         self.assertEqual([], self.verificationErrors)
46 
47 if __name__ == "__main__":
48     #unittest.main()
49     #定义一个单元测试容器
50     test = unittest.TestSuite()
51     #将测试用例加入测试容器
52     #testsuit.addTests(unittest.defaultTestLoader.loadTestsFromTestCase(b))
53     test.addTest(Untitled('test_untitled'))
54     test.addTest(Untitled('test_untitled2'))
55 
56     #定义一个报告存放路径
57     filename = os.getcwd()+'\\result.html'
58     print filename
59     fp = open(filename, 'wb')
60 
61     #定义测试报告
62     runner = HTMLTestRunner.HTMLTestRunner(
63         stream=fp,
64         title=u'数月亮测试结果',
65         description=u'测试报告.'
66     )
67     #运行测试用例
68     runner.run(test)

 

其中可以看到,我们可以很方便的将测试的板块进行划分,然后通过Python导入模块,并且由于rc只是Python下面的一个模块,我们还可以通过在脚本中导入其他模块(比如数据库)进行一些额外的测试,比如结合数据库,然后通过selenium的action以后查看数据库的情况,是否插入了数据等.这里我们采用的是白盒测试,通过自己编写逻辑认证脚本,进行测试.

  同时我们可以将自己所需要测试的用例加入到测试容器,这样可以有针对性的测试.

  接下来就是学习下Python下selenium RC的具体api的学习了,然后开始第一个测试的开始!!!

  总的来说,在学长的项目中学到了太多太多,比如敏捷开发方法,github代码管理,tower团队档案分工,ssh等,团队开发方案严格的采用了正式公司的开发方法,对自己的帮助特别大.

  有时候总在担心,基础不足的我是否能够承担起团队开发的重任,我会不会拖慢团队进度,但是通过这次网站测试调研发现,其实很多事情并没有我想象的那么难,只是纯粹的担心而已,这是一个好的开端,那么等到这个项目开发结束,也是对于我自身的一种认可吧!

  跟自己定下来的东西就像是一条很长很长的道路,有时候路上难免会有所偏差,但是幸运的是没有偏离的太狠,仍然朝着那个方向在不断的前行.每走一步都会觉得离自己的理想越来越近,就这样一直到自己理想实现的那天吧!

  还记得有多少次自己曾熬夜看书,寒假都会抱着一本书看着看着累的睡着,感谢曾经努力得让我感动的自己!

  还记得在考研之前跟自己说过一句话,只要自己的考研成功了,那么我的大学也就完美了.一年后,我也亲手兑现了这句话,现在已经成功转型,接下来的还剩两个月就把毕设好好弄下,最重要的是把项目尽量多做点,然后从这个暑假开始踏上新的旅程!!!!

  四年计划转型第一年成功KO!

  附上the piano guys的titanium,很喜欢的一首曲子,美到窒息的音乐~

 

posted @ 2014-04-23 22:57  HappyCoder  阅读(965)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3