运行测试用例

import pytest
from WXP2P_2.test_data2.login_case import logindata_error1,logindata_error2,logindata_right
class TestLogin:
    """测试登录"""

    @pytest.mark.parametrize("data",logindata_error1)#装饰测试用例。
    @pytest.mark.wrong
    def test_error1(self,data,int_start):
        """错误信息"""
        int_start[0].login(data["use"],data["password"])
        try:
            assert (int_start[0].error_value()==data["expected"])
            print("测试用例通过,预期结果{}与实际结果{}一致".format(data["expected"],int_start[0].error_value()))
        except AssertionError as e:
            print("用例失败")
            raise e
        finally:
           int_start[0].clear()#清空输入框
        # Login().login(data["use"], data["password"])#错误示范,这种调用方法,会多次打开浏览器
        # Login().clear()#错误示范,这种调用方法,会多次打开网页
#     @pytest.mark.parametrize("data",logindata_error2)
#     def test_error2(self, data):
#         """错误信息"""
#         self.login.login(data["use"], data["password"])
#         try:
#             assert (self.login.error_value1() == data["expected"])
#             print("测试用例通过,预期结果{}与实际结果{}一致".format(data["expected"], self.login.error_value1()))
#         except AssertionError as e:
#             print("用例失败")
#             raise e
#         finally:
#             self.login.clear()  # 清空输入框
#     @pytest.mark.ok
#     @pytest.mark.parametrize("data",logindata_right)#装饰测试用例
#     def test_right(self,data):
#         """正确的信息登录"""
#         self.login.login(data["use"], data["password"])
#         try:
#             assert (data["expected"] in self.login.right_value())
#             print("测试用例通过,预期结果{}与实际结果{}一致".format(data["expected"], self.login.right_value()))
#         except AssertionError as e:
#             print("用例失败")
#             raise e
#         # Login().login(data["use"], data["password"])#错误示范,这种调用方法,会多次打开网页
if __name__ == '__main__':
    pytest.main(["-m wrong","-s"])

执行结果

Traceback (most recent call last):
  File "D:/WX_P2P_ITEM/WXP2P_2/test_login.py", line 46, in <module>
    pytest.main(["-m wrong","-s"])
  File "D:\Python\lib\site-packages\_pytest\config\__init__.py", line 60, in main
    config = _prepareconfig(args, plugins)
  File "D:\Python\lib\site-packages\_pytest\config\__init__.py", line 204, in _prepareconfig
    pluginmanager=pluginmanager, args=args
  File "D:\Python\lib\site-packages\pluggy\hooks.py", line 289, in __call__
    return self._hookexec(self, self.get_hookimpls(), kwargs)
  File "D:\Python\lib\site-packages\pluggy\manager.py", line 68, in _hookexec
    return self._inner_hookexec(hook, methods, kwargs)
  File "D:\Python\lib\site-packages\pluggy\manager.py", line 62, in <lambda>
    firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
  File "D:\Python\lib\site-packages\pluggy\callers.py", line 203, in _multicall
    gen.send(outcome)
  File "D:\Python\lib\site-packages\_pytest\helpconfig.py", line 93, in pytest_cmdline_parse
    config = outcome.get_result()
  File "D:\Python\lib\site-packages\pluggy\callers.py", line 80, in get_result
    raise ex[1].with_traceback(ex[2])
  File "D:\Python\lib\site-packages\pluggy\callers.py", line 187, in _multicall
    res = hook_impl.function(*args)
  File "D:\Python\lib\site-packages\_pytest\config\__init__.py", line 684, in pytest_cmdline_parse
    self.parse(args)
  File "D:\Python\lib\site-packages\_pytest\config\__init__.py", line 901, in parse
    self._preparse(args, addopts=addopts)
  File "D:\Python\lib\site-packages\_pytest\config\__init__.py", line 846, in _preparse
    self.pluginmanager.load_setuptools_entrypoints("pytest11")
  File "D:\Python\lib\site-packages\pluggy\manager.py", line 282, in load_setuptools_entrypoints
    self.register(plugin, name=ep.name)
  File "D:\Python\lib\site-packages\_pytest\config\__init__.py", line 318, in register
    ret = super(PytestPluginManager, self).register(plugin, name)
  File "D:\Python\lib\site-packages\pluggy\manager.py", line 102, in register
    hook._maybe_apply_history(hookimpl)
  File "D:\Python\lib\site-packages\pluggy\hooks.py", line 336, in _maybe_apply_history
    res = self._hookexec(self, [method], kwargs)
  File "D:\Python\lib\site-packages\pluggy\manager.py", line 68, in _hookexec
    return self._inner_hookexec(hook, methods, kwargs)
  File "D:\Python\lib\site-packages\pluggy\manager.py", line 62, in <lambda>
    firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
  File "D:\Python\lib\site-packages\pluggy\callers.py", line 208, in _multicall
    return outcome.get_result()
  File "D:\Python\lib\site-packages\pluggy\callers.py", line 80, in get_result
    raise ex[1].with_traceback(ex[2])
  File "D:\Python\lib\site-packages\pluggy\callers.py", line 187, in _multicall
    res = hook_impl.function(*args)
  File "D:\Python\lib\site-packages\allure_pytest\plugin.py", line 21, in pytest_addoption
    help="Generate Allure report in the specified directory (may not exist)")
  File "D:\Python\lib\site-packages\_pytest\config\argparsing.py", line 303, in addoption
    raise ValueError("option names %s already added" % conflict)
ValueError: option names {'--alluredir'} already added

这是因为pytest-allure-adaptor与allure-pytest的alluredir都被引用造成冲突

需要卸载pytest-allure-adaptor


卸载完成后,再执行测试模块

============================= test session starts =============================
platform win32 -- Python 3.6.3, pytest-4.5.0, py-1.8.0, pluggy-0.11.0
rootdir: D:\WX_P2P_ITEM\WXP2P_2
plugins: allure-pytest-2.6.5
collected 5 items / 3 deselected / 2 selected

test_login.py 测试用例通过,预期结果请输入正确的手机号与实际结果请输入正确的手机号一致
.测试用例通过,预期结果请输入手机号与实际结果请输入手机号一致
.

ValueError: option names {'--alluredir'} already added 报错的更多相关文章

  1. moviepy音视频剪辑:使用fl_time进行时间特效处理报错ValueError: Attribute duration not set

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt+moviepy音视频剪辑实战 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 在使 ...

  2. Unity在OpenGL模式下Shader编译报错

    报错信息 GLSL compilation failed: 0(21) : error C7528: OpenGL reserves names containing '__' 双击报错VS自动打开V ...

  3. Oracle Online Patching报错"This is not a RAC setup. OPatch cannot determine the local node name"

    Oracle Online Patching报错"This is not a RAC setup. OPatch cannot determine the local node name&q ...

  4. 报错问题: AtrributeError:module ‘allure’ has no attribute ‘’severity_level’

    问题:执行命令报错:pytest -s -q --alluredir report 报错问题: AtrributeError:module 'allure' has no attribute ''se ...

  5. weblogic启动报错之Unrecognized option: -jrockit

    报错如下: $ ./startWebLogic.sh . . JAVA Memory arguments: -Xms512m -Xmx512m . WLS Start Mode=Production ...

  6. windows 8 安装 oracle 11g 报错:command line option syntax error,type command/? for help

    windows 8 安装 oracle 11g 报错:command line option syntax error,type command/? for help 在windows8操作系统上安装 ...

  7. Android报错:WindowManager$BadTokenException: Unable to add window -- window has already been added

    很久之前测试通过的代码,现在手机升级了Android7.0后一运行就崩溃,报出这样的错误,具体错误如下: Process: com.example.sho.android_anti_theft, PI ...

  8. tensorflow-TFRecord报错ValueError: Protocol message Feature has no "feature" field.

    编写代码用TFRecord数据结构存储数据集信息是报错:ValueError: Protocol message Feature has no "feature" field.或和 ...

  9. 关于SVN报错 svn: E170013 E125006: contains invalid filesystem format option 'addressing logical'

    在使用svn的时候,遇到了这样的一个问题 首先我使用TortoiseSVN 右键创建的repository. 之后用IDEA,配置了1.9.4版本的SVN,去commit访问这个仓库 结果出现了以下的 ...

随机推荐

  1. classpath 和 classpath*的 区别:

    classpath 和 classpath*的 区别: classpath:只会到你指定的class路径中查找找文件; classpath*:不仅包含class路径,还包括jar文件中(class路径 ...

  2. C/C++内存检测工具Valgrind

    内存检测Valgrind简介 Valgrind是运行在Linux上一套基于仿真技术的程序调试和分析工具,作者是获得过Google-O'Reilly开源大奖的Julian Seward, 它包含一个内核 ...

  3. 每次打开office 2013都提示配置进度,必须得等他下完然后重启,重启完了在打开,还是提示配置进度,怎么解决

    方法一: 我用下面的方法完美解决.在控制面板中1.删除旧版本2010 或者20032.删除激活程序3.重装2013激活程序done 方法二: 我把WPS卸载了就好了. 方法三: 我是按这个方法解决的, ...

  4. [Xcode 实际操作]九、实用进阶-(4)计算两个日期间的差值

    目录:[Swift]Xcode实际操作 本文将演示如何计算两个日期之间的差值. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKit class ...

  5. [Xcode 实际操作]九、实用进阶-(30)为IAP(支付方式)内购项目添加测试账号,测试内购功能

    目录:[Swift]Xcode实际操作 本文将演示如何添加测试账号,以方便对内购功能进行测试. IAP,即in-App Purchase ,是一种智能移动终端应用程序付费的模式, 在苹果(Apple) ...

  6. 阿里巴巴开源性能监控神器Arthas初体验

    如果问性能测试中最难的是哪部分,相信很多人会说“性能调优”.确实是这样,性能调优是一个非常复杂.技术含量很高的工作.涉及到的知识面很广.以我多年从业经验来看,在企业里,大多数的性能调优都是由开发架构师 ...

  7. windows 系统 GitBook生成PDF、epub报错Error during ebook generation: 'ebook-convert' 乱码

    解决方法 1. 根据你的系统下载calibre并安装 2. 右键属性打开桌面图标位置 3 .复制该路径: 4. 打开我的电脑-属性-系统-高级系统设置-环境变量,配置环境. 5. 编辑"PA ...

  8. 关于MySQL集群架构优劣势与适用场景的分析与思考

    http://blog.itpub.net/25723371/viewspace-1977389/

  9. php-fpm 高并发 参数调整

    工作中经常会遇到会给客户配置服务器,其中有的客户还会有并发量要求,其中也会必须要用负载均衡承载压力的.增加服务器数量肯定能有效的提升服务器承载能力,但只有根据目前已有配置设置好单台服务器才能更好的发挥 ...

  10. Android近场通信---NFC基础(五)(转)

    转自 http://blog.csdn.net/think_soft/article/details/8190463 Android应用程序记录(Android Application Record- ...