RESTful API'sini test eden RequestsLibrary numaralı Robot Framework test paketim var. Testler harika çalışıyor. Basit bir örnek çağrı:Robot Çerçeve İstekleriBilgiden - Bu çerezin türü bir Tür Hatası neden oluyor?
*** Test Cases ***
Test API
Create API Session
${resp} = Get Request api_session /foo/bar
BlahBlah test the ${resp} etc.
*** Keywords ***
Create API Session
${headers_str} = Evaluate str('application/json')
&{headers} = Create Dictionary Content-Type=${headers_str}
Create Session api_session ${BASE_URL} headers=${headers} verify=True
Şimdi bu test paketi tarafından yapılan tüm çağrıları için bazı codeception kod kapsamı takibi için çerezleri ekleyerek başlamak gerekir.
*** Test Cases ***
Test API
Create API Session
${resp} = Get Request api_session /foo/bar
BlahBlah test the ${resp} etc.
*** Keywords ***
Create API Session
${headers_str} = Evaluate str('application/json')
&{headers} = Create Dictionary Content-Type=${headers_str}
${cookies_str} = Evaluate str('{"CodeCoverage":"Test Name","CodeCoverage_Suite":null,"CodeCoverage_Config":null}')
&{cookies} = Create Dictionary CODECEPTION_CODECOVERAGE=${cookies_str}
Create Session api_session ${BASE_URL} headers=${headers} cookies=${cookies} verify=True
Ama şimdi Test API
testi şaşırtıcı TypeError: string indices must be integers
ile Get Request
anahtar kelime başarısız: Ben şöyle Yukarıdaki çalışma kodu uyarladı. Burada neler oluyor? Çerezimi yanlış anladığımı sanıyorum, ama belgeler başladığımdan daha karışıktı.
İsteklerin çerezleri işleyemediğinden emin misiniz? Bence bu yorumun söylediği şey, çerezleri _session_'a iletememesi. Yine de, her bir _request_ üzerinden çerezleri iletebilir. Bu nedenle kod, çerezleri ('self.cookies'') kaydeder ve gerçek istekte bulunurken kullanır. –
Nope @BryanOakley hiç de emin değilim, bu yüzden benim bir şeyleri yanlış anlayabilmem için önerim, yorumunuzdan almış gibi geliyor. Benim senaryomda, çerezleri oturuma iletmem gerekti ve ben de bu şekilde kandırıldım. – shicky
Bryan iyi bir noktaya sahip. Bunu anlamak için kaynak kodun etrafında dolaşırken bunu gördüğümü hatırlıyorum, ama bu şekilde soruyu yayınlayacağımı düşündüm çünkü belki birisi bunu biliyor olabilir, aslında bunu oturuma aktarabilirsiniz. Çerezleri bireysel aramalara aktarmaya ve bulgularımla bu soruya geri dönmeye çalışacağım. – fildred13