小编Ray*_*lus的帖子

随机"元素不再附加到DOM"StaleElementReferenceException

我希望它只是我,但Selenium Webdriver看起来像是一场彻头彻尾的噩梦.Chrome webdriver目前无法使用,而其他驱动程序则非常不可靠,或者看起来如此.我正在与许多问题作斗争,但这里有一个问题.

随机地,我的测试将失败

"org.openqa.selenium.StaleElementReferenceException: Element is no longer attached 
to the DOM    
System info: os.name: 'Windows 7', os.arch: 'amd64',
 os.version: '6.1', java.version: '1.6.0_23'"
Run Code Online (Sandbox Code Playgroud)

我正在使用webdriver版本2.0b3.我已经看到FF和IE驱动程序发生这种情况.我可以阻止这种情况的唯一方法是Thread.sleep在异常发生之前添加实际调用.这是一个糟糕的解决方法,所以我希望有人可以指出我的错误,这将使这一切变得更好.

java automated-tests webdriver selenium-webdriver

137
推荐指数
3
解决办法
11万
查看次数

CORS请求是预检的,但它似乎不应该是

以下跨源POST请求,其内容类型为multipart/form-data且只有简单的标题是预检的.根据W3C规范,除非我读错了,否则不应该预先检查.我已经证实这种情况发生在Chrome 27和Firefox 10.8.3中.我没有测试任何其他浏览器.

以下是请求标头等:

Request URL:http://192.168.130.135:8081/upload/receiver
Request Method:POST
Status Code:200 OK
Request Headersview source
Accept:*/*
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Connection:keep-alive
Content-Length:27129
Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryix5VzTyVtCMwcNv6
Host:192.168.130.135:8081
Origin:http://192.168.130.135:8080
Referer:http://192.168.130.135:8080/test/raytest-jquery.html
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.37 Safari/537.36
Run Code Online (Sandbox Code Playgroud)

这是OPTIONS(预检)请求:

Request URL:http://192.168.130.135:8081/upload/receiver
Request Method:OPTIONS
Status Code:200 OK
Request Headersview source
Accept:*/*
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Access-Control-Request-Headers:origin, content-type
Access-Control-Request-Method:POST
Connection:keep-alive
Host:192.168.130.135:8081
Origin:http://192.168.130.135:8080
Referer:http://192.168.130.135:8080/test/raytest-jquery.html
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.37 Safari/537.36
Run Code Online (Sandbox Code Playgroud)

规范似乎很清楚:

更新:这是一些简单的客户端代码,它将重现这一点: …

multipartform-data xmlhttprequest cors xmlhttprequest-level2

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

Canvas.toDataURL()在除IE10之外的所有浏览器中工作

我正在开发一个项目,它使用画布自动裁剪图像,然后返回其数据URL.它使用来自外部服务器的图像,该服务器具有适当的CORS标头,以允许图像在被裁剪后转换为数据URI,即使它们是跨源的.

除了IE 10之外,代码在所有浏览器中都能完美地工作(并且没有安全错误!),当调用canvas.toDataURL()时,它会抛出"SCRIPT5022:SecurityError".

这是IE中的一个错误还是我需要在我的代码中做些不同的事情才能让它在Idiot Exploder中运行?谢谢.斯科特

编辑 这是(大部分)我用来创建和绘制画布的代码;

var canvas = document.createElement('canvas');
var ctx = canvas.getContext('2d');
var img = new Image();
img.src = imageServerURL + '?id=' + imageIdToGet; // imageServerURL points to a different domain but the server has headers allowing requests from my domain
/*
    code here that defines the cropping area, in variables like ulX, lrY, etc.
*/
ctx.beginPath();
ctx.moveTo(ulX, ulY);
ctx.lineTo(urX, urY);
ctx.lineTo(lrX, lrY);
ctx.lineTo(llX, llY);
ctx.closePath();
ctx.clip();
ctx.drawImage(img, 0, 0);
var url = canvas.toDataURL(); // This succeeds …
Run Code Online (Sandbox Code Playgroud)

canvas same-origin-policy cors internet-explorer-10

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

选择要在gradle中运行的特定测试

我正在努力修复我们凌乱的失败测试运行,不幸的是,我很陌生.我们目前有testng,junit,我也想在混音中添加一些spock测试.当我输入"gradle test"时,我不太确定gradle如何确定要运行哪些测试.如何防止testng和/或junit测试运行?如何让gradle开始运行我的spock测试?

junit testng gradle spock

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

fine-uploader示例传统构建

所以,我正在尝试评估精细上传器.我决定去下载页面,但它想要你购买许可证,但我不想在我评估它之前这样做.所以,我去了github并为它下载了主zip并解压缩.我现在的问题是什么?所谓的"循序渐进"并不是一步一步的.我应该建立一些东西吗?文档说明我只需要包含一个文件....哪个文件?在演示中,对于传统用途,我看到它包括fineuploader- {VERSION} .js,但我看不到甚至以"client/js/*"子目录中的"fineuploader"开头的文件.

我完全错过了这方面的文档吗?

谢谢!

fine-uploader

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

为什么跨源HEAD请求需要进行预检检查?

我正在阅读关于CORS请求的规范,我发现了有关预检请求的内容:

这些是对具有除GET之外的HTTP请求方法的非同一原始URL的请求,首先需要使用预检结果缓存条目或预检请求进行授权.

我曾经认为预检请求的目的是在创建请求之前检查是否允许请求,以防它(非法)更改服务器状态.

但是HEAD和OPTIONS不会修改服务器状态.我必须误解预检检查的原因.

为HEAD和OPTIONS进行预检检查但不是GET的目的(也就是原因,动机或理由)是什么?GET有什么特别之处?

cross-domain http-method cors preflight

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

如何根据jenkins访问最后构建的修订版?

在我的构建控制台的顶部附近,我看到一个"最后修改版本:",带有修订版#.如何在构建脚本中访问最后构建的rev#?我正在使用Gradle,但我认为这不重要.Jenkins是否在系统属性中提供最后构建的rev#?当然,从我的构建脚本访问这一定是微不足道的......

gradle jenkins

8
推荐指数
3
解决办法
1万
查看次数

sigv4-post-example使用python

我试图使用python 从http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-post-example.html生成相同的签名,

DateKey = hmac.new(b'AWS4wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY', b'20151229', hashlib.sha256).digest()

DateRegionKey = hmac.new(DateKey, b'us-east-1', hashlib.sha256).digest()

DateRegionServiceKey = hmac.new(DateRegionKey, b's3', hashlib.sha256).digest()

SigningKey = hmac.new(DateRegionServiceKey, b'aws4_request', hashlib.sha256).digest()

signature = hmac.new(other_policy, SigningKey, hashlib.sha256).hexdigest()
Run Code Online (Sandbox Code Playgroud)

但我的签名是cb0b0ec487fd5e01382c9c3b6b6a6dfa170da312ddab58a4b18869e7413951be和预期的签名46503978d3596de22955b4b18d6dfb1d54e8c5958727d5bdcd02cc1119c60fc9

我哪里做错了?

注意

other_policy = b'''eyAiZXhwaXJhdGlvbiI6ICIyMDE1LTEyLTMwVDEyOjAwOjAwLjAwMFoiLA0KICAiY29uZGl0aW9ucyI6IFsNCiAgICB7ImJ1Y2tldCI6ICJzaWd2NGV4YW1wbGVidWNrZXQifSwNCiAgICBbInN0YXJ0cy13aXRoIiwgIiRrZXkiLCAidXNlci91c2VyMS8iXSwNCiAgICB7ImFjbCI6ICJwdWJsaWMtcmVhZCJ9LA0KICAgIHsic3VjY2Vzc19hY3Rpb25fcmVkaXJlY3QiOiAiaHR0cDovL3NpZ3Y0ZXhhbXBsZWJ1Y2tldC5zMy5hbWF6b25hd3MuY29tL3N1Y2Nlc3NmdWxfdXBsb2FkLmh0bWwifSwNCiAgICBbInN0YXJ0cy13aXRoIiwgIiRDb250ZW50LVR5cGUiLCAiaW1hZ2UvIl0sDQogICAgeyJ4LWFtei1tZXRhLXV1aWQiOiAiMTQzNjUxMjM2NTEyNzQifSwNCiAgICB7IngtYW16LXNlcnZlci1zaWRlLWVuY3J5cHRpb24iOiAiQUVTMjU2In0sDQogICAgWyJzdGFydHMtd2l0aCIsICIkeC1hbXotbWV0YS10YWciLCAiIl0sDQoNCiAgICB7IngtYW16LWNyZWRlbnRpYWwiOiAiQUtJQUlPU0ZPRE5ON0VYQU1QTEUvMjAxNTEyMjkvdXMtZWFzdC0xL3MzL2F3czRfcmVxdWVzdCJ9LA0KICAgIHsieC1hbXotYWxnb3JpdGhtIjogIkFXUzQtSE1BQy1TSEEyNTYifSwNCiAgICB7IngtYW16LWRhdGUiOiAiMjAxNTEyMjlUMDAwMDAwWiIgfQ0KICBdDQp9'''
Run Code Online (Sandbox Code Playgroud)

来自http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-post-example.html

python amazon-s3 amazon-web-services aws-cli

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

文件上传后的Jquery表单提交

我意识到问题的这种变化已经多次出现,但是在这种情况下我找不到哪个能回答这个问题.

我正在使用第三方fileuploader,它利用jQuery并在文件上传完成时提供成功回调.

我想要实现的是一个带有文本字段的表单,以及fileuploader,当你点击"提交"时,它会触发上传功能(文件开始上传它的进度条),然后等待成功回调继续提交表格.

我必须立刻承认我是一个完全白痴与jQuery,它让我完全迷惑,所以我很不确定如何实现这一点.

到目前为止,我的尝试只会导致表单尝试在文件上载过程中立即提交.

manualuploader.uploadStoredFiles();单击"立即上载"按钮时,将实例化该功能.

实例化文件上传器的jQuery如下:

<form action="index.php" method="post" enctype="multipart/form-data" id="uploader">
<div id="manual-fine-uploader"></div>
<div id="triggerUpload" class="btn btn-primary" style="margin-top: 10px;">
<input type="text" name="textbox" value="Test data">
<input name="test" type="button" value="Upload now">
</div>
</form>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script src="fineuploader-3.6.3.js"></script>
<script>
$(document).ready(function() {
var manualuploader = new qq.FineUploader({
        element: $('#manual-fine-uploader')[0],
        request: {
                endpoint: 'uploader.php'
        },
        autoUpload: false,
        text: {
                uploadButton: '<i class="icon-plus icon-white"></i> Select Files'
        }
        });
        $('#triggerUpload').click(function() {      
        manualuploader.uploadStoredFiles();
        });
});

</script>
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery fine-uploader

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

Fine Uploader S3:拒绝获得不安全的标题"ETag"

我正在尝试使用jQuery fineuploader(v 3.9.1)上传到S3,并启用了调试功能.上传的所有部分都成功但后来我收到错误"问问亚马逊合并部分的问题!"

我在控制台上启用了调试并获得错误[拒绝获取不安全的标题"ETag"]以及来自亚马逊的错误:

收到带有正文的响应状态400: __CODE__找不到一个或多个指定的部分.该部分可能没有被上传,或者指定的实体标签可能不符合部分的实体tag.eTvPFvkXEm07T17tvZvFacR4vn95EUTqXyoPvlLh1a6AADlc94v7H9.a2jcmow1pjfN1xcdw_xMx60APpXn6rGwhHYtzE0NT90Bs0IVqrkaFHW75yRl5E4nfO3Od6rWZnull0CD2DC02D0870E61R4Kpfe66IDvL44Jx9Aoicxgh9Frqd4qr8ILWHbu5YhlqGomxIBOZvfkgy4R4VsYS1

amazon-s3 fine-uploader

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