小编Lir*_*dav的帖子

如何检测iOS应用程序是否在UI测试模式下运行

我希望我的应用程序在UI测试模式下运行时运行特殊代码(例如重置其状态).我查看了从UI测试运行应用程序时设置的环境变量,并且没有任何明显的参数来区分正常运行的应用程序与UI测试中的应用程序.有没有办法找出来?

我不满意的两个解决方法是:

  1. 设置XCUIApplication.launchEnvironment一些变量,我稍后在应用程序中检查.这不好,因为您必须在setUp每个测试文件的方法中设置它.我尝试从方案设置中设置环境变量,但在运行UI测试测试时不会传播到应用程序本身.
  2. 检查环境变量是否存在__XPC_DYLD_LIBRARY_PATH.这似乎非常hacky,可能现在只能工作,因为我们如何设置目标构建设置是巧合.

ios xcode-ui-testing

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

以编程方式使用mailto协议注册Windows程序

如何制作mailto:链接将在我的程序中注册?

那么我如何在我的程序中处理该事件?

我从快速Google搜索中找到的大多数解决方案都是如何手动执行此操作,但如果他们单击按钮(例如"设置为默认电子邮件客户端"),我需要自动为我的程序用户执行此操作.

编辑:

删除了对Delphi的引用,因为答案与您的语言无关.

windows mailto

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

将React Native与NoClassDefFoundError集成后Android应用程序崩溃:com.facebook.react.bridge.JSPackagerWebSocketClient

我将React Native集成到现有的Android项目中.代码编译得很好,但是当我到达我的应用程序初始化React Native的部分时,应用程序崩溃了.

回溯的相关部分:

java.lang.RuntimeException:请求启用DevSupportManager,但未找到或无法创建DevSupportManagerImpl类引起:java.lang.RuntimeException:请求启用DevSupportManager,但未找到或无法在com.facebook中创建DevSupportManagerImpl类. react.devsupport.DevSupportManagerFactory.create(DevSupportManagerFactory.java:77)由以下内容引起:java.lang.reflect.InvocationTargetException:java.lang.reflect.Constructor.newInstance(Native Method)at com.facebook.react.devsupport.DevSupportManagerFactory.create (DevSupportManagerFactory.java:70)由com.facebook.react的com.facebook.react.devsupport.DevServerHelper.(DevServerHelper.java:108)中的java.lang.NoClassDefFoundError:com.facebook.react.bridge.JSPackagerWebSocketClient引起. devsupport.DevSupportManagerImpl.(DevSupportManagerImpl.java:141)

关键部分是

java.lang.NoClassDefFoundError:com.facebook.react.bridge.JSPackagerWebSocketClient`.

我不确定为什么不会找到这门课.React Native源代码中发生此崩溃的位置在此处.

更新:如果它是相关的,我在此之前得到了编译时错误,我在这里修复了解决方案(不包括okhttp-ws),我想知道这可能导致这个问题.

更新2:我开始认为这与排除okhttp-ws有关,因为我在JSPackagerWebSocketClient.java中注意到有以下导入:

import okhttp3.ws.WebSocket;
Run Code Online (Sandbox Code Playgroud)

所以我想真正的问题是我遇到的原始问题的真正解决方法是什么,即:

com.android.build.api.transform.TransformException:java.util.zip.ZipException:重复条目:okhttp3/internal/ws/RealWebSocket $ 1.class

我正在使用React Native v0.31.0.

java android react-native

22
推荐指数
1
解决办法
1665
查看次数

如何单元测试React Component shouldComponentUpdate方法

我有一个实现shouldComponentUpdate方法的React组件,我想对它进行单元测试.理想情况下,我可以在单元测试中更改组件上的某个prop或state,并验证它是否重新呈现.如果有帮助,我正在使用.

unit-testing reactjs enzyme

20
推荐指数
2
解决办法
5218
查看次数

运行ant build会出现"package org.junit不存在"

当我使用Java IDE构建具有JUnit测试的项目(例如NetBeans)时,它们编译得很好,但是当我尝试在IDE之外使用ant来运行构建脚本时,我得到错误"package org.junit不存在".

java ant junit

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

在模拟器中运行应用程序时删除本地通知的iOS权限警报

我正在尝试在KIF上编写一个验收测试,该应用程序很早就要求提供本地通知权限.不幸的是,由于iOS模拟器安全原因,无法使用KIF自动接受iOS权限警报.根据/sf/answers/1991062041/,有些方法可以禁用位置,地址簿,日历和照片的权限警报,但我找不到禁用本地通知权限的方法.我尝试了链接问题的权利方法,但没有以下任何键工作:

kTCCServiceNotifications
kTCCServiceNotification
kTCCServiceLocalNotification
kTCCServiceLocalNotifications
Run Code Online (Sandbox Code Playgroud)

还有其他想法吗?现在我正在通过更改生产代码来解决这个问题,以便在验收测试运行时有条件地禁用本地通知,但理想情况下我不必这样做.

ios kif ios-permissions

15
推荐指数
1
解决办法
1033
查看次数

在Delphi中,TDataSet线程安全吗?

我希望能够在自己的线程中异步打开TDataSet,以便主VCL线程可以继续,直到完成,然后从该TDataSet读取主VCL线程.我做了一些实验并且遇到了一些非常奇怪的情况,所以我想知道是否有人之前做过这件事.

我已经看到一些示例应用程序,其中TDataSet是在一个单独的线程中创建的,它已打开,然后从中读取数据,但这都是在单独的线程中完成的.我想知道在另一个线程打开数据源之后从主VCL线程读取TDataSet是否安全.

我在Delphi 7中进行Win32编程,使用DAC for MySQL的 TmySQLQuery 作为我的TDataSet后代.

delphi multithreading dataset

12
推荐指数
1
解决办法
4241
查看次数

如何在Delphi中使用或解决可视化表单继承的问题?

我一直在Delphi 7中开展一个项目,我想让表单从其他表单继承组件.我能够使这个工作,但遇到了以下问题(我将发布解决方案,希望将来帮助其他人):

  1. 在表单的.pas文件中,我会将表单更改为从其他表单继承,但它不会从祖先表单中获取组件.
  2. 对于某些后代表单,我会在设计时打开表单时收到以下错误消息:"创建表单时出错:找不到'TAncestorForm'的祖先." 我必须首先手动打开祖先形式,然后我可以打开后代形式.

delphi inheritance

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

如何在UIWebView上正确收听导航更改?

我注意到[UIWebViewDelegate webView:shouldStartLoadWithRequest:navigationType:]只使用传统<a href="...">链接调用,而不是单页Web应用程序JavaScript导航.

例如,如果我在a中访问m.facebook.com UIWebView并开始点击顶部导航(见下面的截图),它永远不会触发该委托方法.

我想要一个方法挂钩的原因是因为我想在UIWebView上面添加后退和前进按钮,但我需要知道何时启用/禁用这些按钮.我应该使用其他一些委托方法来正确地听取导航更改吗?

更新:我还应该注意到移动版Safari正确更新了Facebook移动网站上的后退/前进按钮状态,所以我希望Apple为开发人员提供了一种方法来实现这一点.

在此输入图像描述

uiwebview ios

10
推荐指数
1
解决办法
715
查看次数

去哪里获取安装软件包?

已向我提供了运行go get <some-remote-git-repo>成功的指示,但我不清楚该软件包的安装位置,因此可以从中运行可执行文件。

每个https://golang.org/doc/code.html#remote似乎它都将安装在我的shell 中,$GOPATH/bin但未$GOPATH在其中定义(尽管该go get命令似乎可以正常工作)。Go是通过Homebrew安装的。

homebrew go

10
推荐指数
4
解决办法
7545
查看次数