2016-04-13 20 views
0

Tüm pytest junit xml çıktısını tek bir junit xml içine birleştirmek için xunitmerge kullanıyorum. Komuta tek html rapor dosyasına birden py.test html dosyalarını dönüştürmek için herhangi bir araç var mı Burada combain pytest html raporu tek bir raporda

for i in `ls test_*` 
do 
test_suit=$(echo $i |cut -d'.' -f1) 
py.test $i --tb=long --html=Reports/${test_suit}.html --junitxml=Reports/${test_suit}.xml -vv 
done 

xunitmerge Reports/*.xml Reports/discovery.xml 

nihayet tüm xml tek xml dosyasına için birleştirilir, pytest çalıştırmak için kullanılan ve aşağıda birleştirme?

Not: test_ belirlemeden py.test'i çalıştırdığımda, tüm dosyalar otomatik olarak test_ ile başlatılır, ancak sipariş eklentisini kullandığım için, birden fazla dosya siparişi veremiyorum Belirli bir test dosyası dosyası belirtmeden py.test'i kullanamam .

Sen tarafından bunun için XSLT kullanabilirsiniz

cevap

0

:

  • ya here for instance
  • açıklandığı üzere, bir master HTML dosyasına XHTML raporlarını birleştirerek veya birleştirilen XML çıkışından bir HTML çıktısı üreten there for example
  • açıklandığı gibi

    :

örneğin, aşağıdaki XML dosyası (catalog.xml) olduğunu varsayalım

<?xml version="1.0" encoding="UTF-8"?> 

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 

<xsl:template match="/"> 
    <html> 
    <body> 
    <h2>My Catalog</h2> 
    <table border="1"> 
    <tr bgcolor="#9acd32"> 
     <th>Name</th> 
     <th>Price</th> 
    </tr> 
    <xsl:for-each select="catalog/item"> 
    <tr> 
     <td><xsl:value-of select="name"/></td> 
     <td><xsl:value-of select="price"/></td> 
    </tr> 
    </xsl:for-each> 
    </table> 
    </body> 
    </html> 
</xsl:template> 

</xsl:stylesheet> 

Sonra yapmanız gereken tek şey, XML dosyasında XSL şablonu referans şudur: 210

<?xml version="1.0" encoding="UTF-8"?> 
<catalog> 
    <item> 
    <name>A great book</name> 
    <price>10</price> 
    </item> 
</catalog> 

Bir XSL şablonu (catalog.xsl) oluşturabilirsiniz.
Son olarak, XML dosyası gibi görünmelidir:

<?xml version="1.0" encoding="UTF-8"?> 
<?xml-stylesheet type="text/xsl" href="catalog.xsl"?> 
<catalog> 
    <item> 
    <name>A great book</name> 
    <price>10</price> 
    </item> 
</catalog> 

bir tarayıcıda XML dosyasını açın ve XSL şablon kullanılarak işlenen olacak!

+0

XSLT'yi nasıl kullanabilirim Herhangi bir araç var mı? Son xml'yi html'ye dönüştürmek için sağlanan bağlantıyı kontrol ettiğimde, 2 xml bir giriş (benim durumum) sağladılar. 2. bir çıktı xslt dosyası html olarak görüntülenebilir. Bu dönüşüm, verilen bağlantıda belirtilmeyen nasıl yapılır –

+0

Ben uygun xml html xml dönüştürmek için bir şablon (xslt) ihtiyacım olduğunu düşünüyorum. Sonra daha sonra xml dosyasını kullanabiliriz ve –

+0

'u dönüştürmek için bir python betiği kullanabiliriz. Kesinlikle bir "dönüşüm" yapmanıza gerek yok, sadece XSL şablonunuzu XML dosyanıza bağlayın (güncellenmiş cevaba bakın). – filaton