小编jra*_*ede的帖子

如何在Protractor/WebdriverJS中设置默认浏览器窗口大小

出于某种原因,当我在工作中运行我的测试时,浏览器被最大化,但是当我在家中运行它时,它只打开一个宽度约为50%的浏览器窗口.这会导致向下滚动等一些差异,所以我最好让它在运行测试的每台机器上打开一个相同大小的浏览器窗口.最好的方法是什么?(我已经找到了其他语言的一些答案,但还没能使它们适应javascript)

添加

browser.executeScript('window.moveTo(0,0);'+
    'window.resizeTo(screen.width, screen.height);');
Run Code Online (Sandbox Code Playgroud)

什么都不做,(显然window.moveTowindow.resizeTo没有铬支持).

javascript webdriver angularjs selenium-webdriver protractor

103
推荐指数
6
解决办法
7万
查看次数

密码中带有"@"的HTTP基本身份验证URL

我正在尝试使用Sauce Labs为我们的登台服务器设置一些selenium测试.它在一个基本的http auth后面,所以理论上我可以将selenium URL设置为http://user:password@www.stagesite.com.但是,密码包含"@",导致各种各样的问题,如您所想.我尝试用反斜杠逃避它,但是我没有做任何事情.

所以,

  1. 有没有另一种方法来使用selenium进行http身份验证,即不通过URL.要么,

  2. 有没有办法使用基于URL的身份验证,但不知何故告诉浏览器"@"是密码的一部分?

selenium http http-authentication saucelabs

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

自动添加.gitignore并挂钩git init

有没有办法告诉git每次git init在某台机器上运行时自动创建/填充.gitignore和.git/hooks文件夹中的某些文件?也许是某个地方的全局配置?

我们有需要全面忽略的符号链接,以及需要为每个repo设置的预接收和后接收挂钩,因此这比为每个repo手动设置更容易.

谢谢.

git

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

内存不足错误后,PHP会自动添加错误

这可能更适合服务器故障,但我想我先问这里.

我们的服务器上的每个PHP文件都有一个文件,它使用auto-prepend,它包含一个Bootstrap我们用于自动加载,环境检测等的类.它一切正常.

但是,当在同一服务器上的另一个文件的请求之前(即,小于一秒或甚至同时)存在"OUT OF MEMORY"错误时,会发生以下三种情况之一:

  1. 我们用于检查的代码(if(class_exists('Bootstrap')我们在第一次遇到此错误时用于包装类定义)返回true,这意味着该类已经被声明,尽管这是自动前置文件.

  2. 我们从自动预装文件中得到"无法重新声明类Bootstrap"错误,这意味着class_exists('Bootstrap')返回false但仍以某种方式仍然声明了.

  3. 该文件根本没有预先设置,导致依赖于它的文件出现一次性致命错误.

当然,我们可以尝试修复内存不足问题,因为这些问题似乎导致了其他错误,但由于各种原因,它们在我们的设置中无法修复或者很难修复.但这不是重点 - 在我看来,这是PHP中的一个错误,某种内存泄漏会导致auto-prepend指令出现问题.

这比任何事情都更好奇,因为这很少发生(可能每周一次在我们的高流量服务器上).但我想知道 - 为什么会发生这种情况,我们可以采取哪些措施来解决这个问题?

我们正在运行FreeBSD 9.2使用PHP 5.4.19.

编辑:我们在过去几个月试图解决这个问题时注意到的一些事情:

  • 它似乎只发生在我们的安全服务器上.内存不足问题主要出现在我们的安全服务器上(他们通常是我们自己的员工试图下载过多的数据),所以这可能只是巧合,但值得指出

  • get_declared_classes我们遇到此问题时的转储包含未在触发错误的页面上使用的类.例如,该$_SERVER人的输出在xyz.com上,但其中一个声明的类仅用于abc.com,这是内存不足问题通常源自的地方.

  • 所有这一切使我相信PHP在获得内存不足错误后没有进行正确的循环结束垃圾收集,这导致Bootstrap类在下一页请求中完全或部分在内存中,如果它很快就会错误.我不熟悉PHP垃圾收集实际上对此采取行动,但我认为这很可能是问题所在.

php garbage-collection freebsd out-of-memory

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

NSLock +原子属性vs非原子

我对目标C相当新.如果我有一个类属性可能会在API调用等异步事件期间被修改,那么确保在另一个线程访问属性时更改属性的最佳方法是什么?导致崩溃?

据我所知,我有两个选择:

1)NSLock +原子属性

...但似乎在这种情况下我必须为每次读取和写入锁定属性,这对我来说会破坏将其设置为原子的目的.

2)非原子性质

我也可以把它设置为非原子的,但是我想我必须在主线程上做所有的读/写操作.有没有办法通过API调用来做到这一点?成功的API响应之后,如果在为该API调用打开的线程上回调给委托,或者它是否会返回主线程?如果它在不同的线程上,我可以把它放回主线程吗?具体来说,我担心NSArray会在另一个线程循环通过时发生变化.

这样做的最佳方式是什么?

multithreading locking objective-c thread-safety foundation

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