小编Mar*_*hio的帖子

如何在py.test运行中多次重复每个测试?

我希望按顺序运行每个选定的py.test项目任意次数.
我没有看到任何标准的py.test机制.

我试图在pytest_collection_modifyitems()钩子里这样做.我修改了传入的项目列表,以多次指定每个项目.测试项的第一次执行按预期工作,但这似乎导致我的代码出现一些问题.

此外,我希望每次运行都有一个唯一的测试项目对象,因为我使用id(item)作为各种报告代码中的一个键.不幸的是,我找不到任何py.test代码来复制测试项,copy.copy()不起作用,并copy.deepcopy()获得异常.

任何人都可以建议多次执行测试的策略吗?

python pytest

31
推荐指数
5
解决办法
2万
查看次数

在Google Maps V3中,如何获取可拖动标记来平移地图?

我找到了几个V2示例,说明在拖动标记时如何平移地图.例如:http: //www.putyourlightson.net/projects/coordinates

    // create map and add controls
var map = new GMap2(document.getElementById("map"));
map.addControl(new GLargeMapControl());        
map.addControl(new GMapTypeControl());

// set centre point of map
var centrePoint = new GLatLng('53.34870686020199', '-6.267356872558594');
map.setCenter(centrePoint, 14); 

// add a draggable marker
var marker = new GMarker(centrePoint, {draggable: true});
map.addOverlay(marker);

// add a drag listener to the map
GEvent.addListener(marker, "dragend", function() {
    var point = marker.getPoint();
    map.panTo(point);
    document.getElementById("latitude").value = point.lat();
    document.getElementById("longitude").value = point.lng();
});
Run Code Online (Sandbox Code Playgroud)

在拖动标记时,此页面似乎"自动平移"; 请注意,它唯一的事件监听器是"dragend".但是我向你保证,当拖动标记时,该地图会平移.

我试图用V3 API实现同样的目的,但没有任何成功.我甚至尝试在拖动图标时调用map.panTo(),结果令人不满意:http://www.publicgloucester.com/test.html

function initialize ()
   { …
Run Code Online (Sandbox Code Playgroud)

google-maps google-maps-api-3 google-maps-markers

15
推荐指数
2
解决办法
3万
查看次数

如何找到 Go http.Response 的远程 IP 地址?

http.Request 结构包含请求发送方的远程 IP 和端口:

    // RemoteAddr allows HTTP servers and other software to record
    // the network address that sent the request, usually for
    // logging. This field is not filled in by ReadRequest and
    // has no defined format. The HTTP server in this package
    // sets RemoteAddr to an "IP:port" address before invoking a
    // handler.
    // This field is ignored by the HTTP client.
    **RemoteAddr string**
Run Code Online (Sandbox Code Playgroud)

http.Response 对象没有这样的字段。

我想知道响应我发送的请求的 IP 地址,即使我将它发送到 DNS 地址。

我认为 net.LookupHost() 可能会有所帮助,但是 1) …

http go

7
推荐指数
1
解决办法
2166
查看次数

我可以在哪个py.test标注中找到'item'和'report'数据?

pytest_runtest_makereport()获取两个参数,item和call.从item,我可以找到我为此测试创建的funcarg,并且从call中,我可以找到异常信息(如果有的话):

def pytest_runtest_makereport (item, call):
    my_funcarg = item.funcargs['name']
    my_funcarg.excinfo = call.excinfo
Run Code Online (Sandbox Code Playgroud)

不幸的是,填充了两个失败和跳过的excinfo.为了区分,我需要查看pytest_report_teststatus()的report参数:

def pytest_report_teststatus (report):
    if report.when == 'call':
        if report.failed:
            failed = True
        elif report.skipped:
            skipped = True
        else:
            passed = True
Run Code Online (Sandbox Code Playgroud)

这是很好的信息,但我无法将其与我为测试创建的funcarg相关联.我查看了report参数(一个TestReport报告),我找不到任何方法可以回到传递给pytest_runtest_makereport()的项目,或者我创建的funcarg.

我在哪里可以访问这两个?

python pytest

6
推荐指数
1
解决办法
3123
查看次数

无法在Windows/Cygwin上为Android NDK构建外部OpenSSL库

我需要为Android应用程序构建最新的OpenSSL(1.0.0g).我试图按照https://github.com/fries/android-external-openssl给出的例子,但我无法建立它.

我正在运行带有完整且最近的Cygwin的Windows 7 Professional(64位).我已经安装了Android SDK和NDK,我可以成功构建并运行NDK的hello-jni示例应用程序.

我创建了一个名为hello-openssl的新示例NDK应用程序.在其jni目录中,我创建了一个openssl目录.在那里,我解压缩了https://github.com/fries/android-external-openssl/zipball/master,它在c:\ android\android-ndk\samples\hello-openssl下给了我这个树结构:

jni
+- openssl
   +- apps
   +- crypto
   +- include
      +- openssl
   +- ssl
Run Code Online (Sandbox Code Playgroud)

然后我修改了jni目录中的Android.mk文件,试图包含OpenSSL文件:

subdirs := $(addprefix $(LOCAL_PATH)/,$(addsuffix /Android.mk, \
    openssl \
))

include $(subdirs)
Run Code Online (Sandbox Code Playgroud)

现在,当我执行ndk-build时,它会编译几个.c文件,但很快就会失败:

Compile thumb  : crypto <= cryptlib.c
In file included from jni/openssl/crypto/cryptlib.c:117:
jni/openssl/crypto/cryptlib.h:65:18: error: e_os.h: No such file or directory
jni/openssl/crypto/cryptlib.h:72:28: error: openssl/crypto.h: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我找到了http://osdir.com/ml/android-ndk/2010-07/msg00424.html,它告诉我在crypto/Android.mk中"添加jni和jni/include到上面的LOCAL_C_INCLUDES",但我可以找出我应该用来实现这个的语法.

我也无法弄清楚我有正确的目录结构.

我真诚地感谢任何可以提供的帮助.

谢谢!

android openssl android-ndk

5
推荐指数
1
解决办法
5608
查看次数

使用 Selenium/WebDriver 和 Python,如何抑制共享相机和麦克风的提示?

我正在 Python 中使用 Selenium 来自动化远程浏览器。浏览器需要访问其网络摄像头和麦克风。当我导航到请求访问的页面时,Firefox 会显示一个弹出窗口,询问“您想与 [主机] 共享您的摄像头和麦克风吗?”

该窗口不是浏览器页面的一部分,因此无法通过 Selenium 检测或控制。

此行为由 Firefox 的“about:config”页面中的 media.navigator.permission.disabled 选项控制。如果此选项设置为“true”,则应自动授予对相机的访问权限。

当我将该选项设置为“true”时,仅当我手动运行 Firefox 时才会消除提示。当我通过 Selenium 运行 Firefox 时,我仍然收到提示。

如何抑制此提示并自动授予权限?

python firefox selenium selenium-webdriver

5
推荐指数
1
解决办法
7059
查看次数

如何在Python脚本中检测Xen?

我需要确定我的Python脚本何时在Xen虚拟机中运行.VM将运行Linux.

我在平台模块中找不到任何明显的东西.我能得到的最接近的是platform.platform()中'xen'的外观

>>> platform.platform()
'Linux-2.6.18-194.el5xen-x86_64-with-redhat-5.5-Final'
Run Code Online (Sandbox Code Playgroud)

确定这个的最佳方法是什么?

谢谢.

python xen

4
推荐指数
2
解决办法
2380
查看次数

如何以编程方式在OpenSSL中创建自签名证书(即,不使用'openssl'CLI命令)?

我的程序使用OpenSSL,需要根据需要创建自签名证书.它运行的系统无法访问'openssl'CLI命令,因此我无法使用它.相反,我需要通过使用OpenSSL X509 API来实现这一点.

请注意,我不需要创建证书FILE,只需要创建证书; OpenSSL称之为"X509"结构.

我找不到有关如何执行此操作的任何文档.

我怎样才能做到这一点?

谢谢.

c openssl certificate

4
推荐指数
1
解决办法
7861
查看次数

如何为"类型MyString字符串"执行Go/Golang类型断言?

如果我想知道变量是否是string类型,我可以做一个类型断言:

S, OK:= value.(string)
Run Code Online (Sandbox Code Playgroud)

如果value的类型为string,则OK为true,S为原始值.

但是这种类型的断言不适用于自定义字符串类型; 例如:

type MyString string
Run Code Online (Sandbox Code Playgroud)

对于此类型的变量,上面的类型断言返回false表示OK.

如何确定变量是字符串类型还是等效类型,而没有针对每个等效类型的单独断言?

go

2
推荐指数
1
解决办法
783
查看次数