51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2119|回复: 3
打印 上一主题 下一主题

[求助] python selenium如何实现一组数据执行后测试报告产生一条测试记录

[复制链接]
  • TA的每日心情
    擦汗
    2016-6-29 09:56
  • 签到天数: 25 天

    连续签到: 1 天

    [LV.4]测试营长

    跳转到指定楼层
    1#
    发表于 2016-3-17 17:29:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    python selenium如何实现一组数据执行后测试报告产生一条测试记录


    # coding=utf-8
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.common.keys import Keys
    from selenium.webdriver.support.ui import Select
    from selenium.common.exceptions import NoSuchElementException
    import unittest
    import time,re
    import csv
    from test import test_support
    import HTMLTestRunner
    class Login(unittest.TestCase):
        def setUp(self):
            self.driver = webdriver.Firefox()
            self.driver.implicitly_wait(30)
            self.base_url = ""
            self.verificationErrors = []
            self.accept_next_alert = True

        def testlogin(self,i1,i2,i3,i4):
            #"""%s""" % i1
            driver = self.driver
            driver.get(self.base_url)
            driver.maximize_window()
            driver.find_element_by_name("username").clear()
            driver.find_element_by_name("username").send_keys(i2)
            driver.find_element_by_name("passwordtxt").send_keys(i3)
            driver.find_element_by_class_name("login_button").click()
            time.sleep(3)
            text = driver.title
            self.assertEqual(text,i4.decode("gbk"),"%s" % i1)#.decode("gbk").encode("utf-8"))
            
        @staticmethod
        def getTestFunc(i1,i2,i3,i4):
            def func(self):
                self.testlogin(i1,i2,i3,i4)
            return func

        def tearDown(self):
            self.driver.quit()
            self.assertEqual([],self.verificationErrors)
    testunit = unittest.TestSuite()

    def __generateTestCase():
        csvfile = file("login_table.csv","rb")
        numbers = csv.reader(csvfile)
        a = 0
        for i in numbers:
            if a == 0:
                a = 1
                continue
            setattr(Login,'test_func_%s' % (i[0].decode("gbk").encode("utf-8")),
                    Login.getTestFunc(*i))
            testunit.addTest(unittest.makeSuite(Login))

    __generateTestCase()

    filename = 'result/inquiry.html'
    fp = file(filename,'wb')

    runner = HTMLTestRunner.HTMLTestRunner(
        stream=fp,
        title=u"测试",
        description = u"用例执行情况: "
    )

    runner.run(testunit)
    错误信息:
    D:\python\python.exe E:/codings/yntest/login_1.py
    FETraceback (most recent call last):
      File "E:/codings/yntest/login_1.py", line 67, in <module>
        runner.run(testunit)
      File "D:\python\lib\HTMLTestRunner.py", line 630, in run
        self.generateReport(test, result)
      File "D:\python\lib\HTMLTestRunner.py", line 677, in generateReport
        report = self._generate_report(result)
      File "D:\python\lib\HTMLTestRunner.py", line 741, in _generate_report
        self._generate_report_test(rows, cid, tid, n, t, o, e)
      File "D:\python\lib\HTMLTestRunner.py", line 787, in _generate_report_test
        status = self.STATUS[n],
    UnicodeDecodeError: 'ascii' codec can't decode byte 0xe7 in position 87: ordinal not in range(128)

    Process finished with exit code 1


    求各位大大帮忙看看

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏1
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2016-6-29 09:56
  • 签到天数: 25 天

    连续签到: 1 天

    [LV.4]测试营长

    2#
     楼主| 发表于 2016-3-17 17:30:21 | 只看该作者
    求大神路过指点一下
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2016-6-29 09:56
  • 签到天数: 25 天

    连续签到: 1 天

    [LV.4]测试营长

    3#
     楼主| 发表于 2016-3-17 17:37:47 | 只看该作者
    拜托啦,大神们
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2016-6-29 09:56
  • 签到天数: 25 天

    连续签到: 1 天

    [LV.4]测试营长

    4#
     楼主| 发表于 2016-3-18 09:27:02 | 只看该作者
    自顶,希望大神们能看到
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-9-21 19:50 , Processed in 0.067978 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表