硒+;python报告

硒+;python报告,python,selenium,Python,Selenium,我正在进行selenium+python的研发。我使用SeleniumWebDriver和unittest模块用python编写了一些测试用例。我想知道如何创建测试用例的报告。selenium中是否有内置解决方案,或者我需要编写代码来生成文件 或者,python中是否有其他支持javascript的web测试框架具有报告功能 我对python和selenium基本上都是新手。我的经验是,任何足够有用的测试框架最终都需要一个定制的日志解决方案。最终,您将需要特定于领域和上下文的信息,而预烘焙的解决

我正在进行selenium+python的研发。我使用SeleniumWebDriver和unittest模块用python编写了一些测试用例。我想知道如何创建测试用例的报告。selenium中是否有内置解决方案,或者我需要编写代码来生成文件

或者,python中是否有其他支持javascript的web测试框架具有报告功能


我对python和selenium基本上都是新手。我的经验是,任何足够有用的测试框架最终都需要一个定制的日志解决方案。最终,您将需要特定于领域和上下文的信息,而预烘焙的解决方案由于被专门设计为通用且广泛适用,因此永远不会真正符合要求。如果您已经在使用Python,我建议您查看
日志记录
模块,学习如何编写处理程序和格式化程序。事实上,这是非常简单的,与将需要的日志记录硬塞进以selenium为中心的模块相比,您最终将获得更好的结果。

要开始在selenium+Python上构建测试报告,我将利用Python unittest模块。您将在Selenium文档中获得一个基本示例

然后,模块与unittest结合提供了基本但健壮的HTML报告。

考虑使用。它有一个selenium插件,robot可以生成非常好的日志和报告。使用robot,您不会直接用python编写测试(不过,我想您可以)。相反,robot是一个基于关键字的测试系统,构建在python之上。

是一个功能测试框架,使用户可以:

  • 用容易理解的语言编写测试
  • 组织为特定目的运行的测试
  • 生成高级和详细的测试结果
    • 射频结果文件
    • 射频日志文件
    • HTML页面

在我的特定应用程序中,我使用unittest扩展来编写和运行测试套件

除此之外,我还使用了一个插件,它可以从我的测试周期中生成漂亮的报告。

使用HTMLTestRunner

转到以下URL:

  • 单击htmlestrunner.py
  • 复制所有代码
  • 在项目中创建一个名为htmlestrunner.py的文件并转储代码
  • 现在使用import关键字在脚本中导入该文件
  • 在main方法中调用HTMLTestRunner
示例代码:

from selenium import webdriver
import unittest
import HTMLTestRunner

class LoginTest(unittest.TestCase):

def setUp(self):

    print driverpath
    self.driver = webdriver.Chrome(driverpath + "chromedriver.exe")
    self.driver.get("http://google.com/")

def testPythonScript(self):
    driver=self.driver
    driver.maximize_window()
    driver.implicitly_wait(60)
    driver.get_screenshot_as_file(screenshotpath + "testPngFunction.png")
    driver.find_element_by_xpath("(//a[contains(@href,'contact-us')])[1]").click()
    driver.find_element_by_name("name").send_keys("shubham")
    driver.find_element_by_id("contactemail").send_keys("shubham.xyz@abc.com")
    driver.find_element_by_css_selector("#contact_form > div:nth-child(3) > div:nth-child(3) > input").send_keys(
        "389198318312")
    driver.find_element_by_name("company").send_keys("myname")
    driver.get_screenshot_as_file(screenshotpath + "ConatctUs.png")
    print driver.title
    assert "Hello" in driver.title
    print "execution ends"

def testPythonFailScript(self):
    driver=self.driver
    driver.find_element_by_name("notExist").send_keys("done")

    def tearDown(self):
        driver = self.driver
        driver.quit();

if __name__ == "__main__":
    HTMLTestRunner.main()
现在打开终端,在命令下开火

python scriptFileName.py > TestReport.HTML

注意:scriptFileName是python文件名,TestReport是html报告名。您可以随意命名它

您可以分享所需的示例代码和配置步骤吗特别是请提供生成报告的步骤吗