小编use*_*166的帖子

内容长度已存在错误soapUI 4.5.1

我最近开始使用soapUI 4.5.1,我仍然不熟悉所有设置.我已经设置了一些Web请求,除了一个以外的所有请求都正常工作.我正在尝试发送application/xml类型的内容,但我得到:

由org.apache.http.ProtocolException引起的org.apache.http.client.ClientProtocolException:Content-Length标头已存在.

在4.5.0中,同样的请求对我来说总是很好.请求的内容是这样的:

POST http://exampleHost.com/exampleRequest HTTP/1.1
Accept-Encoding: gzip,deflate
Accept: text/xml
Content-Type: application/xml
Content-Length: 456
Host: exampleHost.com
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
Run Code Online (Sandbox Code Playgroud)

其次是xml.

我认为内容长度发送两次,但我不知道在哪里,因为我没有把它设置在任何地方.SoapUI显示Additional HTTP Headers for this message0.

任何指针都会很棒!

soapui http-headers

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

在JUnit 4中是否有相当于testNG的@BeforeSuite?

我是测试自动化领域的新手,请原谅我,如果这是一个愚蠢的问题,但谷歌这次失败了.或者至少我读过的任何内容都让我更加困惑.

我在Eclipse中使用JUnit 4和Selenium Webdriver.我有几个测试需要作为套件运行,也需要单独运行.目前,这些测试在自行运行时运行良好.在测试开始时,向测试者/用户呈现输入框,询问他们想要测试的服务器(这是一个字符串变量,它成为URL的一部分)以及他们希望测试的浏览器.在套件中运行测试时,用户在每次测试开始时都会被问到这一点,因为很明显这会被编码到他们的每个@Before方法中.

我如何接受这些值一次,并将它们传递给每个测试方法?

因此,如果server ="server1"和browser ="firefox",那么firefox是我想要selenium使用的浏览器,我希望它打开的URL是http://server1.blah.com/,用于以下所有测试方法.我一直在使用单独的@Before方法的原因是因为每个测试方法所需的URL略有不同.即每种方法测试不同的页面,例如server1.blah.com/something和server1.blah.com/somethingElse

测试运行正常,我只是不想继续输入值,因为测试方法的数量最终会很大.

如果在testNG中有更简单的方法,我也可以将我的测试转换为testNG.我认为@BeforeSuite注释可能有用,但现在我不确定.

任何建议和批评(建设性的)都非常感谢

eclipse testing junit selenium junit4

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

我可以检测到我的Android应用程序已删除特定权限吗?

因此,随着Android 4.3的出现,有能力选择性地禁用应用程序的特定权限.

这显然会导致应用程序失去正常运行所需的权限.

在撤销权限时系统是否广播消息,或者我如何判断我的应用程序不再具有某种权限?理想情况下,我想通知用户关闭权限A将破坏应用程序中的xyz.

android android-permissions android-4.3-jelly-bean

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

Android:使用警报管理器定期获取电池状态

我希望定期获取Android设备的电池状态.

由于每隔几分钟轮询电池更换是一个坏主意,我想使用重复警报,可能每小时一次,可以调用一个获取当前电池状态的类.

但是我当前的实现给了我一个例外:

android.content.ReceiverCallNotAllowedException: IntentReceiver components are not allowed to register to receive intents.
Run Code Online (Sandbox Code Playgroud)

警报超时时调用的类如下:

public class GetBatteryStatusTimeout extends BroadcastReceiver{
    private static final String TAG = "GetBatteryStatusTimeout";
    @Override
    public void onReceive(Context context, Intent intent) {
        BatteryDataManager batteryData = new BatteryDataManager(context);
        batteryData.getStatus();
        Log.e(TAG, "GetBatteryStatus timer expired, getting status");
    }
}
Run Code Online (Sandbox Code Playgroud)

getStatus()方法调用代码注册粘性意图并获取电池状态:

IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
Intent batteryStatus = context.registerReceiver(null, ifilter);
int status = batteryStatus.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING;
boolean fullyCharged = status == BatteryManager.BATTERY_STATUS_FULL;
int …
Run Code Online (Sandbox Code Playgroud)

android battery broadcastreceiver alarmmanager android-intent

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