gpt4 book ai didi

casperjs - 如何测试两个交互浏览器(例如聊天应用)

转载 作者:行者123 更新时间:2023-12-05 01:03:49 25 4
gpt4 key购买 nike

我想测试两个用户之间的交互,通过远程服务器进行通信,使用 CasperJS。我的应用程序不是聊天应用程序,但这是说明我想要做什么的简单方法。

所以我会登录浏览器窗口 A,然后登录浏览器窗口 B,然后回到浏览器窗口 A 我会输入聊天消息,调用 click()在发送按钮上,然后返回浏览器 B 我会等待消息出现。然后写一条消息,然后返回浏览器 A 以确保它到达。

我在 parallel browsing 上找到了这个讨论,结果是串行的。串行对我来说很好,但似乎在每个浏览器中执行多个操作会变得非常困惑。它会是这样的:

A.start(...);
A.then(...);
A.then(...);
B.start(...);
B.when(...);

A.run(function(){
B.run(function(){
A.start(...);
A.then(...);
A.run(function(){
B.start(...);
B.run(function(){
//and so on
});
});
});
});

(我实际上并没有测试过它会起作用;我开始这样写,并认为一定有更好的方法?!)

最佳答案

and let each of them run asynchronously from the commandline



+1

我会这样做:

两个脚本:
  • 脚本 A 与 A 登录
  • 脚本 B 与 B 登录

  • 然后脚本第一步(登录后):在聊天中写作。
    脚本 B 第一步:WAITING A 文本然后发送它的答案。
    脚本 A 第二步:WAITING B 回答等...

    您使用节点(子进程)并行启动这两个脚本,它们将与 wait() statements 交互。

    只有一个微妙的点:WAITING两个页面同时呈现 - 或登录 - (大约),因为如果其中一个页面卡住一点,你可能会得到超时错误......所以也许增加 waitTimeout ;更安全。 (虽然对我来说 5 秒默认超时应该足够了)。

    您也可以使用外部文件来“同步”它,但我看不出它有什么帮助,因为无论如何您都必须等待该文件中的数据更新。

    所以这个解决方案是异步的,但它可以工作。

    关于casperjs - 如何测试两个交互浏览器(例如聊天应用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24315512/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com