We study the behavior of branching process in a random environment on trees in the critical, subcritical and supercritical case. We are interested in the case when both the branching and the step transition parameters are random quantities. We present quenched and annealed classifications for such processes and determine some limit theorems in the supercritical quenched case. Corollaries cover the percolation problem on random trees. The main tool is the compositions of random generating functions.