标签: end-to-end

当WhatsApp Web仍在运行时,WhatsApp如何进行端到端加密

我不确定这是否是正确的问题,但我很确定我会问一个非常愚蠢的问题.我是开发人员,但对最新的加密技术一无所知.我在许多网站上看过,WhatsApp花了很多年才想出这种"技术",而且我们的信息和一切现在都是安全的.

我有几个问题一直困扰着我.

  1. 如果解密消息需要加密密钥,那么密钥如何转移到接收方?当然使用WhatsApp服务器?我们怎么知道他们没有让它解密聊天?仅仅因为我们相信他们?如果在我的手机上加密了一条消息,接收方需要知道加密密钥才能解密,他们如何获得该密钥?使用WhatsApp服务器?为什么WhatsApp不能保持这个密钥是如此困难?

  2. 如果我向我的一个朋友发送视频,上传需要一段时间,上传时会显示进度条..如果我将同一个视频转发给我的其他几个朋友,它会在一秒内立即发送.怎么样?它没有加密吗?如果没有再次加密,它怎么会被发送?

  3. 最后,WhatsApp网络如何运作?如果WhatsApp的网站可以显示我的所有消息(无论我如何登录),为什么服务器人都看不到它?他们怎么不能模仿我的登录并且能够看到我正在做的一切?我刚刚使用WhatsApp网络向我的一位朋友发送了一张图片,它被发送了,他看到了......一切都很好.在打开WhatsApp之前我关闭了我的WiFi,图像甚至没有下载!它甚至不在我的手机中..当我的手机中甚至不存在WhatsApp网络时,WhatsApp网站如何使用我的"手机"发送该图像?(注意:我的设置不允许立即下载图像).很显然,WhatsApp并没有和我刚刚发送的手机通话,因为它在服务器上.

有人可以帮我理解这个吗?

编辑:一个帮助我理解的页面的链接也足够了..如果它太长,你不必在这里写一切.虽然我已经在Google上搜索了相当长的一段时间.这个网站上也没有人问过这个问题.

encryption android end-to-end ios whatsapp

9
推荐指数
0
解决办法
1254
查看次数

使用 Cypress 验证元素是否在视口内

Cypress 的visible匹配器根据多种因素将元素视为可见,但它没有考虑视口,因此滚动到屏幕外的元素仍被视为可见。

我需要测试指向页面锚点的链接是否正常运行。单击链接后,页面将滚动到具有在链接的 href 中定义的 id 的元素 ( example/#some-id)。

如何验证元素是否在视口内?

javascript testing end-to-end cypress

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

在角度e2e测试中模拟$ httpBackend

有没有人知道如何在角度e2e测试中模拟$ httpBackend?这个想法是在travis-ci上运行测试时存根XHR请求.我正在使用业力来代理我在travis上运行的rails应用程序中的资产和部分资源.我想在没有真正的DB查询的情况下进行验收测试.

这是我的业力配置文件的一部分:

...
files = [
  MOCHA,
  MOCHA_ADAPTER,

  'spec/javascripts/support/angular-scenario.js',
  ANGULAR_SCENARIO_ADAPTER,

  'spec/javascripts/support/angular-mocks.js',
  'spec/javascripts/e2e/**/*_spec.*'
];
...

proxies = {
  '/app': 'http://localhost:3000/',
  '/assets': 'http://localhost:3000/assets/'
};
...
Run Code Online (Sandbox Code Playgroud)

这是我的spec文件的一部分:

beforeEach(inject(function($injector){
  browser().navigateTo('/app');
}));

it('should do smth', inject(function($rootScope, $injector){
  input('<model name>').enter('smth');
  //this is the point where I want to stub real http query
  pause();
}));
Run Code Online (Sandbox Code Playgroud)

我试图通过$ injector接收$ httpBackend服务:

$injector.get('$httpBackend')
Run Code Online (Sandbox Code Playgroud)

但这不是在我的测试运行的iframe中使用的那个.

我做的下一次尝试是使用angular.scenario.dsl,这里是代码samle:

angular.scenario.dsl('mockHttpGet', function(){
  return function(path, fakeResponse){
    return this.addFutureAction("Mocking response", function($window, $document, done) {
      // I have access to window and document instances 
      // from iframe where …
Run Code Online (Sandbox Code Playgroud)

mocking acceptance-testing end-to-end angularjs karma-runner

8
推荐指数
2
解决办法
8333
查看次数

无头服务器上的端到端测试

我正在尝试在数字海洋上运行Ubuntu服务器12.04.3的Droplet上建立端到端测试环境.

我最终想要实现的是我的jenkins(安装在一个Droplet上)能够运行我的端到端测试.现在,服务器是无头的,端到端测试需要通过浏览器运行(我使用量子器与带有chromedriver的selenium独立服务器).

我的问题是:如何在该机器上生成浏览器我已经安装了xorg,如果我startx在服务器上运行,请注销ssh -X,我可以手动运行端到端测试(在本地计算机上弹出一个浏览器).但是我可以让它在没有它的情况下工作ssh -X,因为jenkins在同一个小滴上进行测试.好吧,我没有得到一个浏览器产卵.

注意:我知道我可能会遗漏一些非常简单的东西,因为我不完全理解配置和xorg.

非常感谢任何提示或完整的答案,这给了我一头白发.

编辑:经过一番挖掘后我觉得我的xorg有点不对劲,我猜X的目的是能够在远程机器(即我的本地机器)上生成一个窗口.而我所追求的更像虚拟帧缓冲区,如Xvfb ...

headless end-to-end selenium-webdriver protractor digital-ocean

8
推荐指数
2
解决办法
3926
查看次数

量角器返回一个对象但是期望 - element.getText()的值

无法理解为什么它返回一个对象而不是文本值,一些测试代码:

describe('columns swap', function () {

    describe('location column ', function () {
        it('should swap right', function () {
            browser.sleep(10000);
            var fColumn = element(by.xpath('(//*[@class="k-link"])[2]')).getText();
            console.log(fColumn); 
Run Code Online (Sandbox Code Playgroud)

控制台输出:

>   columns swap
>     location column { ptor_:    { controlFlow: [Function],
>      schedule: [Function],
>      getSession: [Function],
>      getCapabilities: [Function],
>      quit: [Function],
>      actions: [Function],
>      executeScript: [Function],
>      executeAsyncScript: [Function],
>      call: [Function],
>      wait: [Function],
>      sleep: [Function],
>      getWindowHandle: [Function],
>      getAllWindowHandles: [Function],
>      getPageSource: [Function],
>      close: [Function],
>      getCurrentUrl: …
Run Code Online (Sandbox Code Playgroud)

javascript end-to-end promise selenium-webdriver protractor

8
推荐指数
1
解决办法
8475
查看次数

如何在测试量角器时提供"rootelement"选项

当我执行 node elementexplorer.js http://127.0.0.1:8080/app/view1

我收到以下错误:

有一个webdriver错误:错误在等待Protractor与页面同步时出错:"root元素(正文)没有注入器.这可能意味着它不在ng-app中."

请告诉我如何提供rootelement选项.

testing end-to-end angularjs protractor

8
推荐指数
2
解决办法
5722
查看次数

量角器获得模型价值

我是ProtractorJS的新手.我想要做的是尝试获取禁用的输入元素的值.此输入元素绑定到模型.最初这个输入元素是空的; 然后在一些动作之后更新模型值(并因此显示在输入元素中).我需要获得这个价值,我该怎么做?

我的输入元素是:

<input class="form-control ng-pristine ng-valid" style="font-size: 11px;" disabled="disabled" type="text" ng-model="Promotion.PrometricID">
Run Code Online (Sandbox Code Playgroud)

我试图通过以下方式获取价值:

element(by.model("Promotion.PrometricID")).getAttribute('value');
Run Code Online (Sandbox Code Playgroud)

但每当我在控制台中写入值时,它都会给我"[object] [object]".

谁能告诉我如何在这个文本框或模型中找到价值?

javascript selenium end-to-end selenium-webdriver protractor

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

如何计算此场景中的端到端延迟

这是我的问题:我们希望通过网络发送大小为150,000字节的消息.有四个跳,每个跳长20km,运行速度为100 Mb/s.但是,在发送之前,我们将消息拆分为1500字节的数据包.消息的端到端延迟是什么?使用铜的光速= c = 2*10 ^ 8 m/s,并将你的答案四舍五入到最接近的整数毫秒.

我到目前为止所用的是48ms,我按以下方式计算:1500字节= 12,000位12,000位/(100x10 ^ 6)[100Mb/s] = 0.00012s 20km /(2*10 ^ 8)[光速]在这个等式中] = 1e-7加起来你每跳得到0.0001201 x 4跳= 0.0004804s - > 48ms四舍五入到最接近的整数.

显然这是不正确的,我无法弄清楚我的错误.我的在线课程没有任何帮助,所以我转向SO.如果有人能直接指出我,我会很感激帮助.

networking end-to-end packet

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

仅针对一项测试在 Cypress 中禁用 Web 安全性

在阅读了有关 Web 安全的 Cypress文档以及何时禁用它之后,我决定我确实需要这样做。有没有办法只为一个特定的测试/测试套件禁用它?我使用的是3.4.1 版,并且正在设置此配置cypress.json- 因此它对所有测试都是全局的。

有没有一种方法可以仅针对一次测试禁用网络安全?谢谢!

automated-tests end-to-end browser-testing cypress

8
推荐指数
1
解决办法
5005
查看次数

Cypress getByTestId、queryByTestId、findByTestId 检查元素是否不存在

我正在尝试使用 Cypress 和testing-library/cypress 检查 DOM 树中是否不存在元素。

如果我尝试cy.getByTestId("my-button").should("not.exist")测试失败,因为它找不到元素。

如果我cy.findByTestId("my-button").should("not.exist")这样做也会因为超时而失败。

cy.queryByTestId("my-button").should("not.exist")如果我执行以下任一操作,则测试确实有效

cy.get('[data-testid="my-button"]').should("not.exist")

有人可以解释一下这4个有什么区别吗?

谢谢

javascript testing integration-testing end-to-end cypress

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