我有一个Ruby应用程序,它在命令行上采用了多个用户输入步骤,即:
Please select a client number: 1
Thank you for selecting 1. Please select a portfolio number: 3.
You are in portfolio 3. Please select a stock option: AAPL.
You have chosen AAPL. What would you like to do with it? b
How many shares would you like to buy? 5
You have purchased 5 shares of Apple stock. What would you like to do next?
不是那么荒谬,但你明白了。我希望能够测试我的基本“UI”,而不必每次都为每个角落案例进行测试。是否有一个工具,一种用于命令行的Selenium,可以实现这一目标?
答案 0 :(得分:1)
根据问题的堰塞,围绕非交互式输入设计应用程序可能会有所帮助,并使用交互性作为后备。例如,您可以允许--client
,--portfolio
和--stock-symbol
等选项。您的测试/自动化脚本将使用这些(并具有显着可读性的优点)。默认情况下,您可以要求用户提供交互式输入。
现在,为了测试所说的交互式输入,期望会起作用,但如果你正在阅读标准输入并且问题是确定性的,你可以只创建一个文本文件并将其输入。例如:
> cat input.txt
1
3
AAPL
b
5
> ./my_app < input.txt
> ./my_app --client 1 --portfolio 3 --stock-symbol AAPL --buy 5
答案 1 :(得分:0)
Expect可以做到。它不是一个Ruby解决方案,但可能会有一些“测试包装”使它更容易。
答案 2 :(得分:0)