标签: automation

使用PuTTY在Windows上自动执行Linux上的运行命令

我有一种情况,我需要运行一个从窗户经常Linux shell命令(用不同的文件名).我正在使用PuTTY和WinSCP来执行此操作(需要登录名和密码).通过WinSCP将文件复制到linux机器中的预定义文件夹,然后从PuTTY运行该命令.有没有办法让我通过一个程序实现自动化.理想情况下,我想直接从Windows中单击该文件并发出将该文件复制到远程计算机的命令,并以文件名作为参数运行预定义命令(在PuTTy中).

linux windows automation putty

63
推荐指数
2
解决办法
23万
查看次数

如何自动化REST API文档(Jersey实现)

我使用Java Jersey(和JAXB)编写了一个非常广泛的REST API.我还使用Wiki编写了文档,但它是一个完全手动的过程,非常容易出错,特别是当我们需要进行修改时,人们往往忘记更新wiki.

从四处查看,大多数其他REST API也可以手动创建文档.但我想知道这是否可能是一个很好的解决方案.

需要为每个端点记录的事物类型是:

  • 服务名称
  • 类别
  • URI
  • 参数
  • 参数类型
  • 响应类型
  • 响应类型架构(XSD)
  • 样本请求和响应
  • 请求类型(获取/放置/发布/删除)
  • 描述
  • 可能返回的错误代码

然后当然有一些全球性的事情,如

  • 安全
  • REST概述
  • 错误处理
  • 等等

这些一般的东西可以描述一次并且不需要自动化,但对于Web服务方法本身来说,似乎非常希望自动化它.

我想过可能会使用注释,编写一个生成XML的小程序,然后是一个XSLT,它应该用HTML生成实际的文档.使用自定义XDoclet更有意义吗?

java documentation rest automation jersey

62
推荐指数
5
解决办法
5万
查看次数

使用Selenium WebDriver和Java切换选项卡

使用Selenium WebDriver和JAVA.我试图自动化一个功能,我必须打开一个新的选项卡在那里做一些操作,然后回到上一个选项卡(父).我使用了开关手柄,但它不起作用.还有一个奇怪的事情是两个标签有相同的窗口句柄,因此我无法在标签之间切换.

但是,当我尝试使用不同的Firefox窗口时,它可以工作,但是对于标签,它不起作用.

请帮我,如何切换标签.或者如何在不使用窗口句柄的情况下切换标签,因为在我的情况下,窗口句柄与两个标签相同.

(我观察到当你在同一个窗口中打开不同的标签时,窗口句柄保持不变)

java testing selenium automation selenium-webdriver

61
推荐指数
5
解决办法
23万
查看次数

使用JavaScript进行自动单元测试

我正在尝试将一些JavaScript单元测试合并到我的自动构建过程中.目前JSUnit与JUnit配合得很好,但它似乎是放弃软件,缺乏对AJAX,调试和超时的良好支持.

有没有人幸运(使用ANT)单元测试库,如YUI测试,JQuery的QUnit或jQUnit(http://code.google.com/p/jqunit/)?

注意:我使用自定义构建的AJAX库,因此Dojo的DOH问题在于它要求您使用自己的AJAX函数调用和事件处理程序来处理任何AJAX单元测试.

javascript ant jquery automation unit-testing

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

我如何知道PDF页面是彩色还是黑白?

给定一组PDF文件,其中一些页面是彩色的,其余的是黑白的,是否有任何程序可以在给定的页面中查找颜色,哪些是黑白?例如,这可以用于打印论文,并且仅花费额外的费用来打印彩色页面.考虑到双面打印的人的奖励积分,并且如果彩色打印机后面是彩色页面,则向彩色打印机发送适当的黑白页面.

pdf parsing automation colors printers

59
推荐指数
3
解决办法
2万
查看次数

PHP编号:仅在需要时可见小数点

我想知道是否存在一些函数来自动格式化一个数字的小数,所以如果我有:

<?php
    // $sql_result["col_number"] == 1,455.75
    number_format ($sql_result["col_number"], 2, ".", "");
    // will return 1455.75

    // $sql_result["col_number"] == 1,455.00
    number_format ($sql_result["col_number"], 2, ".", "");
    // could I get 1455 instead of 1455.00?
?>
Run Code Online (Sandbox Code Playgroud)

所以我的答案是,如果我的DB中只有DECIMAL数据格式,那么如果确实存在一些删除小数的方法吗?

或者我应该做那样的事情?

<?php
    // $sql_result["col_number"] == 1,455.00
    str_replace(".00", "", (string)number_format ($sql_result["col_number"], 2, ".", ""));
    // will return 1455
?>
Run Code Online (Sandbox Code Playgroud)

php string automation integer

57
推荐指数
6
解决办法
3万
查看次数

网络中断后自动(或更轻松地)重新连接到屏幕会话

补充:我相信这个问题现在归入了这个问题: 完全透明地自动使用GNU Screen

另请参阅此相关问题:https:
//superuser.com/questions/147873/ssh-sessions-in-xterms-freeze-for-many-minutes-whenever-they-disconnect

原始问题:

如果有一种方法可以ssh到一台机器并立即重新连接到特定的屏幕会话,那将是很好的.你可以这样做:

laptop> ssh server.com screen -ls
Run Code Online (Sandbox Code Playgroud)

它将显示server.com上可用的屏幕列表,如[1]:

123.pts-1
456.pts-2
Run Code Online (Sandbox Code Playgroud)

然后你可能会尝试这样做:

laptop> ssh server.com screen -dr pts-2
Run Code Online (Sandbox Code Playgroud)

但那失败了,说"必须连接到终端".你必须首先ssh然后在server.com上执行"screen -dr pts-2",如果你有一个片状连接并断开很多连接,这是不好的.您希望能够通过笔记本电脑上的简单"向上箭头输入"继续.(或者让它更自动化.)

我对这个问题有一个可怕的解决方案,我将其作为答案发布,希望它能够被遗忘以支持正确的方法来解决这个问题.


脚注:

[1]或者,更好的是,如果您使用" screen -S foo"和" screen -S bar" 等名称创建了屏幕会话,那么您将获得更友好的列表,如:

123.foo
456.bar
Run Code Online (Sandbox Code Playgroud)

并且可以重新连接,例如" screen -dr foo".


迷你屏幕教程,结合这个问题的答案:

登录到server.com并执行操作

screen -S foo 
Run Code Online (Sandbox Code Playgroud)

然后再也不会退出该会话.要从其他地方重新连接,请执行此操作

ssh -t server.com screen -dr foo
Run Code Online (Sandbox Code Playgroud)

列出要重新协调的可用屏幕:

screen -ls
Run Code Online (Sandbox Code Playgroud)

或者,当然,

ssh server.com screen -ls
Run Code Online (Sandbox Code Playgroud)

远程检查server.com的可用屏幕.

我现在使用以下别名(tcsh),基于Jason的答案,连接到命名屏幕(如果存在)或创建并连接:

alias ssc 'ssh -t \!:1 "screen -S \!:2 -dr || screen -S …
Run Code Online (Sandbox Code Playgroud)

ssh scripting automation gnu-screen

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

为什么 Cypress 在运行 get 命令后说我的元素已分离?

目标: 我想使用 cypress 的辅助功能选择器单击页面上的特定元素

代码

cy.findAllByRole('rowheader').eq(2).click();
Run Code Online (Sandbox Code Playgroud)

错误

Timed out retrying: cy.click() failed because this element is detached from the DOM.

<th scope="row" data-automation-id="taskItem" aria-invalid="false" tabindex="-1" class="css-5xw9jq">...</th>

Cypress requires elements be attached in the DOM to interact with them.

The previous command that ran was:

  > cy.eq()

This DOM element likely became detached somewhere between the previous and current command.
Run Code Online (Sandbox Code Playgroud)

问题: 我可以在 DOM 中看到该元素仍然存在 - 没有逻辑将该元素与 DOM 分离,并且 eq 方法当然不会这样做。此外,findAllByRow 方法显然正在工作,因为它找到了我想要单击的正确元素。怎么会说五行分离呢?对于这种情况有解决方法吗?

javascript automation browser-automation cypress

54
推荐指数
6
解决办法
6万
查看次数

什么是测试线束?

我在理解测试工具和相关的常用术语(如测试用例,自动化测试中的测试脚本)方面遇到了一些困难.

所以这就是我到目前为止所做的:自动化测试是使用特殊软件(除被测试的软件之外)来控制测试的执行并将实际结果与预期结果进行比较.它还涉及建立测试前提条件.这种测试最适合经常进行的测试.

现在,我遇到了测试工具的一些问题.我读到它包含一组测试用例,输入文件,输出文件和测试脚本.现在我的问题是测试用例和测试脚本之间有什么区别?另外,您如何使用该软件测试AUT的不同功能?我还遇到了一些术语,如套件主和案例代理.

automation

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

通过命令行在Mac上安装Docker Toolbox

我试图在Mac上自动设置开发人员环境.部分设置是安装Docker Toolbox.我无法通过命令行找到有关如何执行此操作的任何文档.如何自动执行此安装(必须通过命令行触发)?


更新:正如丹尼斯的赞扬所指出的那样

现在存在Docker for Mac,它是Docker Toolbox的替代品.你可以通过自制的桶来获得它:brew cask install docker

macos automation docker docker-toolbox

50
推荐指数
3
解决办法
3万
查看次数