Istnieje narzędzie wiersza poleceń, dla którego musimy napisać testy automatyczne. Nasz framework testowy jest napisany w C# i szukałem bibliotek .NET, które pozwoliłyby mi na automatyzację (wiem, że mogę używać klasy Process, przekierowuję IO, czy waliduję, ale nie chcę na nowo odkrywać koła Jeśli to możliwe). Idealnie szukam czegoś w rodzaju biblioteki expect. Jakieś sugestie?Automatyzacja linii poleceń - oczekiwać odpowiednika
7
A
Odpowiedz
0
Zdaję sobie sprawę, że jest to stare pytanie, ale nikt nie odpowiedział.
IMO, zawsze musiałem wymyślać koła za każdym razem, gdy to zrobiłem (tj. Klasa procesu, przekierowanie StdIO, StdErr, itp. I przeanalizować wyjście). Pomyślałem, że w tym celu ponownie wykorzystałem abstrakcyjną klasę bazową.
Może ktoś jeszcze wie o bibliotece, ale ja tego nie robię.
Jednak dam ostrzeżenie, że widziałem przypadki, w których przekierowanie IO nie zawsze jest prawidłowo obsługiwane w środowisku .Net (w zależności od tego, jak program zapisuje do stdio lub stderr, jeśli ukrywasz okno lub nie , jeśli masz wiele wątków i kilka innych warunków), co prowadzi do stanu wyścigowego, który powoduje nieskończone zawieszenie.
-2
http://blog.iwanek.eu/expect-net/
using ExpectNet;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace ExampleApp
{
class Program
{
static void Main(string[] args)
{
try
{
Console.WriteLine("ExampleApp");
Session spawn = Expect.Spawn(new ProcessSpawnable("cmd.exe"));
spawn.Expect("c:", s => Console.WriteLine("got: " + s));
}
}
}
Powiązane problemy
- 1. * w linii poleceń Linuksa
- 2. DSO brakuje linii poleceń
- 3. Programowanie linii poleceń Inkscape
- 4. RSpec pozwalają/oczekiwać vs tylko oczekiwać/and_return
- 5. Ekwiwalent LLVM definicji makra gcc -D w linii poleceń
- 6. Używanie sendmaila z linii poleceń
- 7. Łańcuch linii poleceń Porównanie zmiennych
- 8. Instrukcja sqlplus z linii poleceń
- 9. Otwarcie Chrome z linii poleceń
- 10. Instalacja vimball z linii poleceń
- 11. debugowanie C# w linii poleceń
- 12. Debugowanie Glassfish z linii poleceń
- 13. Wyświetlanie "Canopy" w linii poleceń
- 14. Komentarze w linii poleceń zsh
- 15. PowerShell argumenty linii poleceń wprost
- 16. dostać użytkownika z linii poleceń
- 17. argumenty linii poleceń z leiningen
- 18. MVC w linii poleceń java
- 19. Nauka Weka na linii poleceń
- 20. Automatyzacja poleceń cygwin w wierszu poleceń systemu Windows (i ostatecznie w MsBuild)
- 21. Automatyzacja przeglądarki Chrome
- 22. . Odpowiednik odpowiednika Delphi ForceDirectory
- 23. Potrzebujesz odpowiednika Android AudioInputStream
- 24. Równoważenie linii poleceń w bibliotece Visual C++ Wiersz poleceń
- 25. Jak przekazać argumentu w wierszu poleceń poprzez oczekiwać w skrypcie powłoki
- 26. Jak rozpocząć tekstmate w linii poleceń
- 27. Ustawienie głośności VLC z linii poleceń/bash
- 28. Niespodzianka! powłoka sugeruje przełączniki linii poleceń
- 29. analizowaniem \ w linii poleceń argumentu - python 2.7.3
- 30. Uruchom polecenie vim z linii poleceń