小编Pau*_*ams的帖子

如何使用Selenium2/WebDriver可靠地等待JavaScript警报?

我目前正在协助使用Selenium 2/WebDriver和C#对使用InternetExplorerDriver的ASP.NET MVC应用程序进行概念验证.

应用程序使用标准模式通知用户记录已保存.这可以通过设置TempData来包含"Record saved successcessefully",如果View中存在TempData,视图将提醒消息.

在针对此功能进行Selenium测试时,我们从以下C#/ Selenium测试代码中获得了不一致的行为:

        _driver.Navigate().GoToUrl(_baseUrl + "/Amraam/List");
        _driver.FindElement(By.LinkText("Create New")).Click();

        _driver.FindElement(By.Id("txtAmraamSerialNumber")).SendKeys("CC12345");

        var selectElement = new SelectElement(_driver.FindElement(By.Id("LocationId")));
        selectElement.SelectByText("Tamworth");
        _driver.FindElement(By.Id("btnSave")).Click();
        var wait = new WebDriverWait(_driver, defaultTimeout);
        IAlert alert = wait.Until(drv => drv.SwitchTo().Alert());
        _alertText = alert.Text;

        alert.Accept();
        Assert.That(_alertText, Is.EqualTo("Record successfully saved")); 
Run Code Online (Sandbox Code Playgroud)

大约50%的时间,Selinium将失败

OpenQA.Selenium.NoAlertPresentException:没有警报处于活动状态

我很难找到复制问题的确切方法,并担心不一致方面.如果它一直失败,那么我们可以调试并跟踪问题.

automated-tests webdriver selenium-webdriver

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

如何在没有sudo的情况下使用Vagrant配置软件

我正在尝试设置Vagrant虚拟机以支持我在七周内通过七个数据库进行学习.我使用基本shell脚本配置软件,该脚本在sudo环境中执行适当的操作.但是,我正在使用vagrant用户来运行教程,并希望配置将相应的节点/ NPM模块安装为Vagrant,而不是通过sudo.

我当前的npm命令是此配置脚本中的最后一行,但当vagrant尝试执行节点脚本时,该模块不可用.

apt-get update
apt-get -y install build-essential
apt-get -y install tcl8.5
wget http://redis.googlecode.com/files/redis-2.6.0-rc3.tar.gz
tar xzf redis-2.6.0-rc3.tar.gz
cd redis-2.6.0-rc3
make
make install
make test
mkdir /etc/redis
mv redis.conf /etc/redis/redis.conf
sed -i.bak 's/127.0.0.1/0.0.0.0/g' /etc/redis/redis.conf
sed -i.bak 's/daemonize no/daemonize yes/g' /etc/redis/redis.conf
sed -i.bak 's/dir .\//dir \/var\/lib\/redis/g' /etc/redis/redis.conf

cd src/
wget https://raw.github.com/gist/1053791/880a4a046e06028e160055406d02bdc7c57f3615/redis-server
mv redis-server.1 /etc/init.d/redis-server
mv redis-cli /etc/init.d/redis-cli
chmod +x /etc/init.d/redis-server
sed -i.bak 's/DAEMON=\/usr\/bin\/redis-server/DAEMON=\/usr\/local\/bin\/redis-server/g'     /etc/init.d/redis-server 
useradd redis
mkdir -p /var/lib/redis
mkdir -p /var/log/redis
chown redis.redis /var/lib/redis
chown redis.redis …
Run Code Online (Sandbox Code Playgroud)

sudo provisioning vagrant

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

应该对NSCoder二进制文件格式应用什么文件扩展名?

当使用NSCoderNSKeyedArchiver,据我所知,数据存储在二进制格式.因此,什么是最适合存储文件的文件扩展名?许多教程使用.plist,但我相信这应该是文本属性列表〜键/值对.

cocoa filenames file-extension objective-c nscoder

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

获得"这个类不符合关键值的关键值编码." 请求RestKit loadObjectsAtResourcePath时

我正在尝试使用RestKit的RKObjectManager将JSON数据反序列化到我的iPhone应用程序中.

我目前的问题是应用程序崩溃了:

*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<Course 0x6e71b10> valueForUndefinedKey:]: this class is not key value coding-compliant for the key id.'
Run Code Online (Sandbox Code Playgroud)

我打电话的时候:

[manager loadObjectsAtResourcePath:@"/courses" delegate:nil];
Run Code Online (Sandbox Code Playgroud)

我的域类 - Course.h看起来像

#import <Foundation/Foundation.h>



@interface Course : NSObject  {

}

@property(nonatomic) NSInteger *id;

@property(nonatomic, retain) NSString *name;

-(id)initWithIdAndName: (NSInteger *)inId inName:(NSString *)inName;
@end
Run Code Online (Sandbox Code Playgroud)

而Course.m看起来像

#import "Course.h"
#import "NSDictionary+RKAdditions.h"


@implementation Course {

}
@synthesize name = _name;
@synthesize id = _id;

- (id)initWithIdAndName:(NSInteger *)inId inName:(NSString *)inName {
    _name = inName;
    _id …
Run Code Online (Sandbox Code Playgroud)

objective-c restkit ios5 xcode4.2

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