2016-05-12 7 views
0

Ich schreibe Tests, die eine Menge Text auf der Seite bestätigt werden. Es ist für AGB-Seiten, Cookies, Datenschutzerklärung usw. Nicht das, was ich tun möchte, aber es ist eine Anforderung, die ich nicht vermeiden kann. Ich habe gehört, dass Gurke eine Textdatei wie öffnen kann. txt oder .doc und vergleichen Sie den Text auf dem Bildschirm.Gurke Ruby lesen Word Doc oder Text

Ich habe versucht, einen Hinweis darauf zu finden, aber sind kurz gekommen. Kann mir bitte jemand in die richtige Richtung zeigen?

Dank

Antwort

0

Cucumber/aruba hat einen bestimmten Schritt, das so geht:

Given a file named "foo" with: 
""" 
hello world 
""" 

Sie würden dann in der Lage sein zu überprüfen, ob Sie hat Inhalte einer Webseite mit:

Then I should see "hello world" 

Und Ihre Schritt :

Then /^I should see "([^"]*)" do |text 
(page.should have_content(text)) 
+0

Ye, ich habe viele dieser Schritte verwendet, aber um zu bestätigen, die Menge an Text innerhalb der allgemeinen Geschäftsbedingungen usw., fragte ich mich, ob es aufgeräumter ist, den Text aus einer Text- oder Word-Datei aufzurufen und Text dort zu vergleichen – Tom

+0

Ich glaube nicht, dass Sie sich Gedanken machen müssen, wie viel Text in den Dateien vorhanden ist. Tests geben Vertrauen vor allem anderen. – floum

0

Ich fuhr fort zu spielen und fand dies für eine .txt-Datei funktioniert:

File.foreach(doc) do |line| 
line = line.strip 

within_window(->{ page.title == 'Cookies' }) do 
    page_content = find('#main').text 
    page_content.gsub!('‘',"'") 
    page_content.gsub!('’',"'") 

expect(page_content).to have_text line 

    end 
    end 
end 

doc ist meine Dateinamen Variable. Ich habe strip verwendet, um die Newline-Zeichen zu entfernen, die beim Einfügen in die TXT-Datei erstellt wurden. Die Cookies öffnen sich in einem neuen Tab, also habe ich dazu navigiert. Ich hatte ungültige UTF-8-Zeichen, also benutzte ich einfach gsub auf diesen.

Ich bin sicher, es ist ein viel besserer Weg, dies zu tun, aber das funktioniert jetzt

0

Ich empfehle approval tests Verwendung würde. Eine Person genehmigt das Original, dann überprüft der automatisierte Test keine Änderung. Wenn sich der Lizenztext ändert, schlägt der Test fehl. Wenn der Text übergeben werden soll, dann genehmigt der Tester den neuen Text und wird danach automatisiert.