The reason for the error is that h[10, 12, 2, 0.5, 3, 5, 0.01, z] (where z does not have a numerical value) returns a ConditionalExpression. Try something like
In[8]:= cdf[n1_, n2_, r_, rho_, th1_, th2_, z_] :=
Integrate[WGen[n1, n2, r, rho, th1, th2, t], {t, 0, z}, Assumptions -> z > 0]
In[9]:= FindRoot[h[10, 12, 2, 0.5, 3, 5, 0.01, z] == 0, {z, 1}]
Out[9]= {z -> 0.178494}