我最近以使用Codeception创建验收测试的形式开始了新的工作。因为这对我来说是一次学习经历,所以我一直在向Stack Overflow倾倒很多问题。感谢您所有的帮助!但这是我最新的困境。首先,我正在进行cept测试。首先,它登录到一个网站,运行一堆测试,然后注销:
class MainViewController: UIViewController, CustomViewDelegate
{
@IBOutlet weak var nextButton: UIButton!
@IBOutlet weak var customView: CustomView!
@IBAction func nextButtonPressed(sender: UIButton) {
self.nextButton.enabled = false
}
override func awakeFromNib() {
super.awakeFromNib()
self.customView.delegate = self
}
func customViewAnimationDidEnd(customView: CustomView) {
self.nextButton.enabled = true
}
}
protocol CustomViewDelegate : class
{
func customViewAnimationDidEnd(customView: CustomView)
}
class CustomView: UIView
{
weak var delegate: CustomViewDelegate? = nil
func animationEnded() {
self.delegate?.customViewAnimationDidEnd(self)
}
}
拍摄的屏幕截图就好像它从未退出一样。我已尝试同时单击“注销”按钮,并使用ID(如上所示)选择“注销”按钮。这里的问题是,我有多个测试运行,当它没有注销时,它使我的下一个测试失败。有没有办法强制退出用户进行cest测试? 几年前我在文章中看到过像这样的问题,但看起来已经修好了。我尝试了这些文章的所有建议。有什么想法吗?
提供注销的相关链接:
$I->am('user');
$I->amOnPage('/');
$I->wait('2');
$I->amOnPage('?realm=ab-cd');
$I->amGoingTo('Login to website');
$I->fillField('username', 'REMOVED');
$I->fillField('password', 'REMOVED');
$I->click('Sign In');
$I->expect('Signing In');
// Should be on dashboard
$I->wait('5');
$I->see('Dashboard');
$I->see('Messages');
$I->see('Assignments');
$I->see('Reports');
$I->see('Help');
$I->click('Sign Out');
$I->expect('Signed Out');
$I->wait('5');
$I->makeScreenshot('Screenshot');
$I->seeCurrentUrlEquals('/');
更新:添加行$ I-> seeCurrentUrlEquals(' /'); 发生错误:
<button id="log-out" class="red-btn">Sign Out</button>
答案 0 :(得分:0)
为什么要退出/退出? 不应该注销自动带你去那里吗?
您的测试未检查是否已成功注销
Expect
方法只是一个评论
使用see或seeCurrentUrlEquals来验证退出是否成功。