- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在测试我的 Flask 应用程序。
总之,这是我的问题:
1) 下面代码块中我的最终 url 断言失败。根据 Twill 的说法,它失败是因为实际的 url 是“/auth/login”。换句话说,用户没有被重定向到 protected 管理页面。为什么?
2) 如何在我的 url 断言中包含“/?next='admin'”请求参数?换句话说,有没有办法通过 Twill 或任何 Pythonic 方法来测试正确解析的“下一个”参数?
3) 在功能测试中,除了断言 301 状态代码之外,还有其他方法可以显示重定向的工作原理吗?
这是我脚本中与斜纹布相关的部分...
t.browser.go(t.url("/auth/login/?next=%2Fadmin%2F")) url("/auth/login/?next=%2Fadmin%2F")
这是最终的回溯:
TwillAssertionError: current url is 'http://127.0.0.1:5000/auth/login/?next=%2Fadmin%2F';does not match '/auth/login/?next=%2Fadmin%2F'
注意:奇怪的是,在“go”命令之后断言 200 状态代码不会返回任何类型的错误。我想表明,登录上述 URL 后,最终的 URL 实际上是管理页面。就像这样...
我希望运行的测试不会失败,但不能...
def test_redirect_via_url(self): with Twill(self.app, port=8080) as t: #: go to admin page before logging in... t.browser.go(t.url("/admin")) #: assert admin url redirected to login url url('/auth/login') #: The above assertion works, but... #: why can't I assert this URL..a 'next' argument...? #: "/auth/login/?next=%2Fadmin%2F" #: that's what actually appears in the browser's address bar #: In any regard, at the '/auth/login' url, let's login fv("1", "username", "test") fv("1", "password", "welcome1") submit() #: Now I want to show my app actually redirects to the protected admin page... #: which should have a URL of localhost/admin url('/admin') #: The above url assertion fails. The actual url after submit is still '/auth/login'
最佳答案
原因是 twill.commands.url
通过将其转换为正则表达式并进行匹配来断言所传递的 URL 与浏览器的 URL 相匹配。这会导致 /auth/login/?next=%2Fadmin%2F
被转换为:
/auth/login # Match this literal string
/? # followed by zero or one slash
next=%2Fadmin%2F # followed by this literal string
这意味着它将匹配 /auth/login/next=%2Fadmin%2F
或 /auth/loginnext=%2Fadmin%2F
但不匹配 /auth/login/?next=%2Fadmin%2F
。解决方法是转义问号(url(r"/auth/login/\?next=%2Fadmin%2F")
应该可以)。
关于python - Flask 应用程序的功能测试 : Weird Twill Traceback,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13574519/
我尝试创建一个斜纹测试来更改 2 个不同测试的代理服务器设置。我需要在运行时触发此更改,而无需重新启动测试脚本。 我尝试通过设置 os.environ["HTTP_PROXY"] 来使用“http_p
我目前正在使用 urllib2 和 BeautifulSoup 打开和解析 html 数据。但是,我遇到了一个网站问题,该网站在呈现页面后使用 javascript 加载图像(我试图在页面上找到特定图
我正在尝试使用 python 和 Twill 运行一些自动化功能测试。这些测试验证我的应用程序的 OAuth 登录和连接端点是否正常工作。 幸运的是,Twitter 并不介意 Twill/Mechan
我正在尝试使用 apache twill构建 YARN 应用程序。来自 twill presentation 的幻灯片,他们说的是使用maven-bundle-plugin来打包hello world
我刚刚成功安装TWILL在“StackOverflow”的一位非常支持的成员的帮助下(你可以查看 HERE)在我的电脑上运行,并尝试运行斜纹文档页面上的一个简单示例(你可以看到该页面 HERE) .这
本文整理了Java中org.apache.twill.discovery.ZKDiscoveryService类的一些代码示例,展示了ZKDiscoveryService类的具体用法。这些代码示例主要
本文整理了Java中org.apache.twill.yarn.YarnTwillRunnerService类的一些代码示例,展示了YarnTwillRunnerService类的具体用法。这些代码示
本文整理了Java中org.apache.twill.zookeeper.ZKClients类的一些代码示例,展示了ZKClients类的具体用法。这些代码示例主要来源于Github/Stackove
本文整理了Java中org.apache.twill.zookeeper.ZKClientService类的一些代码示例,展示了ZKClientService类的具体用法。这些代码示例主要来源于Git
本文整理了Java中org.apache.twill.zookeeper.ZKClient类的一些代码示例,展示了ZKClient类的具体用法。这些代码示例主要来源于Github/Stackoverf
本文整理了Java中org.apache.twill.zookeeper.ZKOperations类的一些代码示例,展示了ZKOperations类的具体用法。这些代码示例主要来源于Github/St
本文整理了Java中org.apache.twill.zookeeper.ZKClientServices类的一些代码示例,展示了ZKClientServices类的具体用法。这些代码示例主要来源于G
我正在尝试从网站提取信息,这样做需要我登录该网站。一切顺利,直到我到达提交按钮: MissingSchema: Invalid URL u'/index.php?r=site/login': No s
我打算使用 twill 在一页上填写表单,点击提交按钮,然后使用 BeautifulSoup 解析生成的页面。如何向 BeautifulSoup 提供 HTML 页面?我假设我必须阅读当前的网址,但我
我刚刚拿到 Twill 并正在使用它,它似乎在 HTTPS 网站上遇到了问题。例如,命令 go(' http://boston.craigslist.org/ ') 可以正常连接,但 go(' htt
如果我运行 twill 脚本来下载网页,twill 脚本会在页面上运行任何 javascript(内联或其他方式)吗?它会正确地做吗? twill官方网站好像没有说明twill是否支持js(我猜是不支
本文整理了Java中org.apache.twill.internal.yarn.YarnUtils类的一些代码示例,展示了YarnUtils类的具体用法。这些代码示例主要来源于Github/Stac
本文整理了Java中org.apache.twill.internal.yarn.YarnAppClient类的一些代码示例,展示了YarnAppClient类的具体用法。这些代码示例主要来源于Git
当集群负载过重时,Yarn 会杀死容器。当容器中运行的其中一个 runnablse 被杀死时,Apache Twill 会如何 react ?它是在减少可运行实例数量的情况下运行还是重新启动它? 最佳
我正在测试我的 Flask 应用程序。 总之,这是我的问题: 1) 下面代码块中我的最终 url 断言失败。根据 Twill 的说法,它失败是因为实际的 url 是“/auth/login”。换句话说
我是一名优秀的程序员,十分优秀!